Почему в PHP SWITCH со случаем 0 ведет себя так глупо?

Я слышал, что переключатель php использует свободное сравнение. Но какова логика такого поведения:

$var = 'default';
  switch ( $var ) {
    case 1:
      echo '1';
    break;
    case 2:
      echo '2';
    break;
    case 0:
      echo 'unexpected, huh!';
    break;
    default:
      echo 'default';
  }

Он повторяет результат в случае 0! Почему он считает, что строка "по умолчанию" равна 0?

Извините за мой английский!

0 ответов

Другие вопросы по тегам