Php 具有动态数组值的开关大小写

Php 具有动态数组值的开关大小写,php,laravel,Php,Laravel,这是数组[2,3,7,5],值会发生变化,有时我只能得到四个值,有时是7,有时是10,所以在该数组中我最多可以得到15个值 如何创建一个切换案例,或循环数组中的每个值,并在每个执行中执行不同的函数 例如,在上面的例子中,我将对2进行一些更新,3进行不同的更新,等等。因此,我的建议是,切换情况不应该依赖于值,它应该依赖于值的长度,最大值为15 那么我应该写15个开关箱吗?或者我该怎么办?请导游。没有代码,因为我被击中了这是基于值的,与数组大小无关 foreach($array as $value)

这是数组[2,3,7,5],值会发生变化,有时我只能得到四个值,有时是7,有时是10,所以在该数组中我最多可以得到15个值

如何创建一个切换案例,或循环数组中的每个值,并在每个执行中执行不同的函数

例如,在上面的例子中,我将对2进行一些更新,3进行不同的更新,等等。因此,我的建议是,切换情况不应该依赖于值,它应该依赖于值的长度,最大值为15


那么我应该写15个开关箱吗?或者我该怎么办?请导游。没有代码,因为我被击中了

这是基于值的,与数组大小无关

foreach($array as $value){
 if($value==1){
    function_one();
  }
 else if($value==2){
    function_one();

  }
 else if($value==3){
    function_one();

  }
/// and so on

}

简单的方法是使用变量函数。 这是一个简单易用的函数,你可以将它用于任何函数,1..4..15..N,变量函数将完成所有工作

foreach($array as $id) { 
    $myFunction = "function".$id;
    $myFunction();
}
必须将函数命名为函数{id}

function function2(){
    //...
}
function function5(){
    //...
}
function functionN(){
    //...
}

如果查找数组可以工作,我总是避免切换块。请在您的问题中显示更多的上下文。数组[2,3,7,5]是用户的id,数组的长度可能最大为1到15不等,因此我需要遍历所有传入数组,并为数组中的每个值执行单独的函数,2将有不同的函数,3将有另一个!因此,我需要默认循环15次,并为每个循环执行各种功能。请编辑您的问题以显示脚本的相关部分。为脚本选择最佳设计可能需要考虑函数的实际功能,它们的行为是否可以逻辑/合理地合并,以及为什么你要用神奇的整数开始。我通常远离开关块,也远离变量和变量函数名。前者会导致代码膨胀,后者会对代码可读性产生负面影响。如果我使用switch语句,会有什么区别?没有区别,switch只是处理条件的另一种方式,会对性能产生任何影响吗?或者执行时间?这不是一个很好的建议,因为一组if-elseif-else条件将评估$value达n次。开关块将只计算$value一次。这个答案不应该实施。@mickmackusa我不明白你的意思。if-else-if一次执行一条语句,而不是在所有情况下始终执行的所有if的集合。。这将与带断路开关的开关完全相同。分享你的想法。谢谢。如果我使用switch语句会有什么不同呢?使用switch语句,你会得到一个大的代码,重复的代码,因为所有情况下都调用函数。如果你想增加更多的功能,就会增加更多的案例,有了这个简单的解决方案,你就不用担心了。