在Ubuntu 14.04 (Trusty Tahr) 上安装 PHP 5.5.9 后,我发现这个奇怪的行为带有一个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