gpt4 book ai didi

php - 如何将 if/else if 转换为循环

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:10:16 26 4
gpt4 key购买 nike

我有一个坏习惯,我可以在任何地方写 if/else if/。
我有不同类型的结构 if/else if/else if.. 但我注意到它可以很快变成数百行,所以我想将其更改为循环。

这是第一种:

                if($row['event_code'] == 1)
$row['event_code'] = 1;
elseif($row['event_code'] == 4)
$row['event_code'] = 2;
elseif($row['event_code'] == 5)
$row['event_code'] = 3;
elseif($row['event_code'] == 8)
$row['event_code'] = 4;
elseif($row['event_code'] == 9)
$row['event_code'] = 5; ...

这是从我从数据库中获取数据的代码中获取的。
如您所见,条件可以跳过数字,但它总是分配一个带 +1 的新值。

在第二个中,我使用上面代码的新值,并将正确的颜色插入数组:

foreach($datasetR1 as $value){
if($value == 1){
array_push($intColors, "#82f827");
}
elseif($value == 2){
array_push($intColors, "#ff4040");
}
elseif($value == 3){
array_push($intColors, "#31698A");
} ...

在最后一个中,我根据值放置了一个字符串:

              if (value === 1)
return 'foo';
else if (value === 2)
return 'bar';
else if (value === 3)
return 'azerty';
else if (value === 4)
return 'qwerty'; ...

写这一切的最佳方式是什么?
使用循环有速度上的不同还是仅在可维护性方面更好?

最佳答案

我对最后一个的简单回答是你制作了一本字典而不是像 if 这样的条件

my_array = {1:'foo', 2:'bar', 3:'azerty', 4:'qwerty'};
return my_array[value]

关于php - 如何将 if/else if 转换为循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50486159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com