PHP сравниение строки и числа, не могу понять

Автор Тема: PHP сравниение строки и числа, не могу понять  (Прочитано 2460 раз)

Оффлайн РупортАвтор темы

  • Бизнес оценка: (0)
  • Старожил
  • ****
  • СПАСИБО: 92
  • Сообщений: 376
  • Карма: 19
    • Просмотр профиля

Оффлайн РупортАвтор темы

  • Старожил
  • ****
<?php
$a=0;
if ($a=='qwerty') echo 'qwerty'; //это условия ведь не должно выполняться!
Но скрипт выводит на экран qwerty.
Как так?


Оффлайн Sevab

  • Администратор
  • Бизнес оценка: (6, 100%)
  • *****
  • СПАСИБО: 9887
  • Сообщений: 14503
  • Карма: 664
  • Пол: Мужской
    • Просмотр профиля
    • Trust Directory Project

Оффлайн Sevab

  • Администратор
  • *****
Рупорт, т.к. вы присвоили $a значение ноль, интерпретатор считает переменную числом.
Далее, при сравнении со строкой, он пытается интерпретировать строку как число. Вот такой бы вариант "3qwerty" он приравнял бы к трем. Ваш вариант он приравнивает к нулю, т.к. к другому числу не получается.

Что бы не было подобных недоразумений, нужно абсолютное сравнение, т.е. три раза (а не два) равно.

Такой вариант будет работать:
Код:
Только зарегистрированные пользователи могут видеть код. Пожалуйста, войдите или зарегистрируйтесь.


 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
1660 Просмотров
Последний ответ 05-03-2011, 09:46:59
от ReCopier
3 Ответов
1192 Просмотров
Последний ответ 26-05-2011, 10:30:11
от mixa33rus
4 Ответов
5303 Просмотров
Последний ответ 30-03-2012, 20:14:02
от Cergo
18 Ответов
4368 Просмотров
Последний ответ 10-10-2012, 02:26:30
от parmactep
10 Ответов
1793 Просмотров
Последний ответ 10-06-2015, 20:21:43
от zanuda