使用return时,PHP switch语句是否可能不执行切换所需的结果?
这两个陈述有什么区别?
$foo = '2';
switch ($foo) {
case 1:
echo 1;
break;
case 2:
echo 2;
break;
}
执行2
与
$foo = '2';
switch ($foo) {
case 1:
return 1;
break;
case 2:
return 2;
break;
}
似乎不起作用。
有没有办法让它发挥作用?
答案 0 :(得分:7)
答案 1 :(得分:4)
以下是如何在函数中使用case语句 -
function myFunction($foo) {
switch ($foo) {
case 1:
return 1;
break;
case 2:
return 2;
break;
default:
return 'no matching values were sent to the function';
break;
}
}
echo myFunction(2); // will echo '2'
在这样的函数中,你不需要有break语句,return
负责破解。这只是一种很好的做法。您应该养成在交换机中使用默认情况的习惯,即使您只是使用它们来记录日志或类似内容的错误。
答案 2 :(得分:0)
返回与函数一起工作。如果函数内部是函数
,则执行