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

Автор Рупорт, 06-11-2015, 23:23:21

« назад - далее »

РупортTopic starter

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


Sevab

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

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

Такой вариант будет работать:

<?php
$a
=0;
if (
$a==='qwerty') echo 'qwerty';