PHP переключает странное поведение с нулевым значением и строками

Идем сразу к делу:

в этом коде я ожидаю дефолт дело:

<?php
$a = 0;
switch ($a) {
case "one":
echo "one";
break;
case "two":
echo "two";
break;
default:
echo "default";
break;
}
?>

я получил один вместо.

здесь ожидаем нуль дело («два«):

 <?php
$a = 0;
switch ($a) {
case "one":
echo "one";
break;
case 0:
echo "two";
break;
default:
echo "default";
break;
}
?>

я получил один вместо.

Это происходит только с нулевое значение потому что здесь я получаю правильно дефолт:

<?php
$a = 1;
switch ($a) {
case "one":
echo "one";
break;
case "two":
echo "two";
break;
default:
echo "default";
break;
}
?>

но тут я правильно понял нуль:

<?php
$a = 0;
switch ($a) {
case 1:
echo "one";
break;
case 0:
echo "zero";
break;
default:
echo "default";
break;
}
?>

Зачем?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]