在 Ubuntu 14.04 上安装 PHP 5.5.9 之后(Trusty Tahr),我在 switch
语句和 PHP_OS
常量中发现了这种奇怪的行为。
我假设在 PHP 5.5.9 中 switch 语句也在检查相同的类型 (===)?
或者这是一个 PHP 错误?
echo PHP_OS; // Linux
$os = PHP_OS;
switch (PHP_OS) {
case "WINNT":
echo 'Windows';
break;
case "Linux":
echo 'Linux';
break;
default:
echo 'Default';
break;
}
// Default
switch ((string) PHP_OS) {
case "WINNT":
echo 'Windows';
break;
case "Linux":
echo 'Linux';
break;
default:
echo 'Default';
break;
}
// Default
switch ($os) {
case "WINNT":
echo 'Windows';
break;
case "Linux":
echo 'Linux';
break;
default:
echo 'Default';
break;
}
// Linux
最佳答案
关于php - 在 PHP 5.5.9 的 PHP 开关中使用常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645533/