Php 是否有快捷方式打开fn(案例值)的结果?
这段代码运行良好。但这很费劲。这是什么捷径?像这样Php 是否有快捷方式打开fn(案例值)的结果?,php,switch-statement,Php,Switch Statement,这段代码运行良好。但这很费劲。这是什么捷径?像这样 switch (true) { case array_key_exists('view', $load): # code... break; case array_key_exists('model', $load): # code... break; default: # code... break; } 但是这不起作用在
switch (true) {
case array_key_exists('view', $load):
# code...
break;
case array_key_exists('model', $load):
# code...
break;
default:
# code...
break;
}
但是这不起作用在PHP中,这样的操作没有捷径
switch ($a = array_key_exists($a, $load)) {
case 'view':
# code...
break;
case 'model':
# code...
break;
default:
# code...
break;
}
但是,原始代码可能应该按照以下方式编写
#check if exists
if(array_key_exists($a, $load))
#check what exists
switch ($a) {
case 'view':
# code...
break;
case 'model':
# code...
break;
default:
# code...
break;
}
#case for nothing matched
else{
# code...
}
您的第二个开关只能是
true
或false
而不是视图
,型号
…不,不能用switch
以任何其他方式表示。这与OPs代码的结果不同(这是对开关的滥用,而不是if/else if.)@user2864740,这与OPs代码的结果不同,请详细说明,例如,有什么区别?因为我什么都看不见。
if (array_key_exists('view', $load)) {
// ..
} else if (array_key_exists('model', $load)) {
// ..
} else {
// ..
}