使用一个 switch 语句更改变量值
Change variable values with one switch statement
有什么方法可以遍历多个变量并使用 switch 语句更改它们的值吗?
假设我在 foreach 循环中有这些变量:
list( $variable1,$variable2,$variable3 ) = explode( '.', $variable );
所以我将字符串拆分为三个不同的变量,每个值用点分隔。如果它是“1.5.6”那么 $variable1 = 1, $variable2 = 5 and $variable3 = 6.
有时 $variable 可能只有“1”或“1.5”等,因此 $variable2 或 3 可能为空。
通过使用 switch 语句,我想将这些数字更改为其他内容
for ($i = 1; $i <= 3; $i++) {
switch ($variable[$i]) {
case "1": $variable[$i] = 100; break;
case "2": $variable[$i] = 200; break;
case "3": $variable[$i] = 300; break;
}
}
我用for循环遍历了3遍(我拆分的变量个数)。在第二行中,我使用了 switch 语句,而我试图做的是通过 $variable1,然后是 $variable2 和 $variable3。
为了改变他们的号码。我怎样才能使用实际名称 "variable1" 等来做到这一点?我不想有重复的代码(每个变量有 3 个 switch 语句)。是否可以在 for 循环中只用一个来完成?
如果你不使用 list() 但保留数组,它只是另一个嵌套级别 -> 另一个 foreach 循环
foreach( explode(....) as $v ) {
switch($v....
foreach (explode('.', $variable) as $v) {
// do as you please with your $v here.
}
使用一个数组,其中包含名为 'variable1' 等键的数组
$array = array();
list( $array['variable1'],$array['variable2'],$array['variable3']) = explode( '.', $variable );
然后:
for ($i = 1; $i <= 3; $i++) {
switch ($array['variable'.$i]) {
case "1": $array['variable'.$i] = 100; break;
case "2": $array['variable'.$i] = 200; break;
case "3": $array['variable'.$i] = 300; break;
}
}
那么如果你真的需要将这些变量分开,你可以这样做:
foreach($array as $k=>$v){
$kk = $v;
}
有什么方法可以遍历多个变量并使用 switch 语句更改它们的值吗?
假设我在 foreach 循环中有这些变量:
list( $variable1,$variable2,$variable3 ) = explode( '.', $variable );
所以我将字符串拆分为三个不同的变量,每个值用点分隔。如果它是“1.5.6”那么 $variable1 = 1, $variable2 = 5 and $variable3 = 6.
有时 $variable 可能只有“1”或“1.5”等,因此 $variable2 或 3 可能为空。
通过使用 switch 语句,我想将这些数字更改为其他内容
for ($i = 1; $i <= 3; $i++) {
switch ($variable[$i]) {
case "1": $variable[$i] = 100; break;
case "2": $variable[$i] = 200; break;
case "3": $variable[$i] = 300; break;
}
}
我用for循环遍历了3遍(我拆分的变量个数)。在第二行中,我使用了 switch 语句,而我试图做的是通过 $variable1,然后是 $variable2 和 $variable3。
为了改变他们的号码。我怎样才能使用实际名称 "variable1" 等来做到这一点?我不想有重复的代码(每个变量有 3 个 switch 语句)。是否可以在 for 循环中只用一个来完成?
如果你不使用 list() 但保留数组,它只是另一个嵌套级别 -> 另一个 foreach 循环
foreach( explode(....) as $v ) {
switch($v....
foreach (explode('.', $variable) as $v) {
// do as you please with your $v here.
}
使用一个数组,其中包含名为 'variable1' 等键的数组
$array = array();
list( $array['variable1'],$array['variable2'],$array['variable3']) = explode( '.', $variable );
然后:
for ($i = 1; $i <= 3; $i++) {
switch ($array['variable'.$i]) {
case "1": $array['variable'.$i] = 100; break;
case "2": $array['variable'.$i] = 200; break;
case "3": $array['variable'.$i] = 300; break;
}
}
那么如果你真的需要将这些变量分开,你可以这样做:
foreach($array as $k=>$v){
$kk = $v;
}