当前位置: 首页 > 知识库问答 >
问题:

切换多案例语句

邬浩涆
2023-03-14

有人能建议我如何替换下面的代码吗?

如何重写代码以避免重复块{code>case 3:{code block A;break;}

switch(i) {
  case 1:  {code block A; break;}

  case 2:  {code block b; break;}

  case 3:  {code block A; break;}

  default: {code block default; break;}
}

如何将案例1和案例3的代码组合起来?

共有3个答案

巫马越彬
2023-03-14

类似于

    $i = 10;
    switch($i){
        case $i == 1 || $i > 3:
            echo "working";
            break;
        case 2:
            echo "i = 2";
            break;
        default: 
          echo "i = $i";
          break;
    }
章兴发
2023-03-14

像这样的东西

switch(i) {
    case 1:
    case 3:  {code block A; break;}

    case 2:  {code block b; break;}

    default: {code block default; break;}
}
轩辕嘉平
2023-03-14

PHP文档中显示了这种格式:

switch (i) {
    case 1:
    case 3:
        code block A;
        break;
    case 2:
        code block B;
        break;
    default:
        code block default;
        break;
}

随着PHP8和新的匹配功能的发布,使用匹配取代开关通常是更好的解决方案。

对于上面的示例,与匹配等效的是:

$matchResult = match($i) {
    1, 3    => // code block A
    2       => // code block B
    default => // code block default
}

匹配语句更短,不需要中断并返回一个值,因此您不必多次赋值。

此外,匹配将表现得像它在做==而不是==。这可能会受到讨论,但事实就是如此。

 类似资料:
  • 问题内容: 我需要在JavaScript的switch语句中使用多种情况,例如: 我怎样才能做到这一点?如果没有办法在JavaScript中执行类似的操作,我想知道一个也遵循DRY概念的替代解决方案。 问题答案: 使用语句的直通功能。匹配的大小写将一直运行到找到(或语句的末尾)为止,因此您可以这样写:

  • 对于一个开关案例,假设我有5个不同的案例,其中三个共享一个我不想重复的共同动作。以下代码完美地说明了我想要实现的目标(但在切换中): 我能把它写成一个优雅的开关盒吗?我目前的解决方案如下所示:

  • 本教程旨在指导您在uni-app(小程序,H5,APP(不含NVUE)等)中从0开始,到熟练使用多语言切换功能,在这里,我们使用的是vue-i18n插件,请您务必按照我们提供的步骤,完整的做好每一步的配置。 前言: i18n是一个专门用于处理多语言的插件,其义来自于internationalization(国际化),取其首尾两个字母i和n,中间部分nternationalizatio刚好18个字母

  • Apache Camel(在JavaDSL)中是否有类似于Java开关盒的构造? 例如: 可以翻译成更类似于switch的东西吗?我的意思是,我不想使用简单的谓词,只使用body元素类型的值。还是我的方法完全错了?(这可能是合理的)

  • 本文向大家介绍Vue多系统切换实现方案,包括了Vue多系统切换实现方案的使用技巧和注意事项,需要的朋友参考一下 前言 公司分好几个后台模块,统一使用vue+elementUi框架开发,每一个后台模块都是单独团队开发的。并且几个系统整体的风格、布局一样的,包括左侧边栏,上方的面包屑等 用户在使用的时候,可能要切换别的系统就要在浏览器里,新打开窗口,再输入网址,回车。 总结来说,低效,所以现在想将几个

  • MIP Page 最大的工作在于将多个独立的页面融合在一起,让它们拥有像单页应用 (SPA) 那样的切换效果和使用体验,解决“第二跳”的问题。这一部分简单讨论一下它的实现方案。 方案核心主要有以下几点: MIP Page 借助 iframe 实现了页面之间的互相隔离 通过 iframe 和外界的通讯来实现页面之间的通讯和传递数据 为了加载性能考虑,第一个页面维持原状,不放入 iframe 之中。