安装 PHP 5.5.9 后Ubuntu 14.04 https://en.wikipedia.org/wiki/Ubuntu_version_history#Ubuntu_14.04_LTS_.28Trusty_Tahr.29(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 开关使用松散比较,例如== https://www.php.net/manual/en/language.operators.comparison.php,所以它应该匹配。
Try:
switch (constant("PHP_OS"))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)