PHP - Переключение case оценивается как true, тогда как тот же оператор в if не делает
Я не совсем понимаю это... Взгляните на следующее:
$value = 0;
if($value >= 90) {
// this does not return true
}
switch($value) {
case $value >= 90:
// this however does
break;
}
Я что-то упускаю очень очевидное?
1 ответ
Решение
$value >= 90
оценивает false
Как $value
0, считается false
, Вот почему ваш case
работает.
По-простому это можно переписать так:
switch($value) {
case false:
// this works
break;
}