После установки PHP 5.5.9 на Ubuntu 14.04 (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
switch (PHP_OS)
возвращал выбор Linux - person Asa Carter   schedule 03.09.2014switch (PHP_OS)
наswitch ((string) PHP_OS)
? - person ClmentM   schedule 03.09.2014