如何让 php switch case 检查类型?
How to make php switch case check for type?
我希望使用 ===
而不是 ==
检查 switch case。
<?php
$favcolor = "1";
switch ($favcolor) {
case 1:
echo "Your favorite color is red!";
break;
case "blue":
echo "Your favorite color is blue!";
break;
case "1":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
?>
这给了我:
Your favorite color is red!
但我希望它显示绿色。这怎么可能?
来自https://secure.php.net/manual/en/control-structures.switch.php
Note that switch/case does loose comparison.
您无法使用 switch 实现此目的,在这种情况下考虑使用 if - elseif - else:
if ( $favcolor === 1 )
echo "Your favorite color is red!";
elseif ( $favcolor === "blue" )
echo "Your favorite color is blue!";
elseif ( $favcolor === "1" )
echo "Your favorite color is green!";
else
echo "Your favorite color is neither red, blue, nor green!";
我希望使用 ===
而不是 ==
检查 switch case。
<?php
$favcolor = "1";
switch ($favcolor) {
case 1:
echo "Your favorite color is red!";
break;
case "blue":
echo "Your favorite color is blue!";
break;
case "1":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
?>
这给了我:
Your favorite color is red!
但我希望它显示绿色。这怎么可能?
来自https://secure.php.net/manual/en/control-structures.switch.php
Note that switch/case does loose comparison.
您无法使用 switch 实现此目的,在这种情况下考虑使用 if - elseif - else:
if ( $favcolor === 1 )
echo "Your favorite color is red!";
elseif ( $favcolor === "blue" )
echo "Your favorite color is blue!";
elseif ( $favcolor === "1" )
echo "Your favorite color is green!";
else
echo "Your favorite color is neither red, blue, nor green!";