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

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

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

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

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