Задать вопрос
@k0nsu1

Кто обьяснит в чем фокус?

Уважаемые специалисты, подскажите пожалуйста почему
var_dump(0 == 'all');
Равен true ?
  • Вопрос задан
  • 265 просмотров
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    1 месяц
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Решения вопроса 1
@D3lphi
При сравнении, php приведет типы. Так как первые символы в строке - это не цифры, то строка приведется к 0. Поэтому получится, что 0 == 0. А если бы, например, у вас было бы выражение 0 == '73all', то оно бы уже было равно false, так как первые символы в строке - цифры, произошло бы приведение типов и, в результате сравнение было бы таким 0 == 73. Для того, чтобы сказать языку, что НЕ НУЖНО приводить типы, необходимо использовать строгое сравнение: 0 === 'all'. Вот такое выражение уже будет равно false.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы