Я очень часто сталкиваюсь с проблемой, когда проверка условия if($var == 1) возвращает true при любом значении переменной $var, кроме пустого и нуля. Проверка идет на булев тип, а не на цифру, и выскакивает ошибка. Из за этого я стараюсь не давать переменным значения 1 или 0, чтобы не возникала путаница при проверке. Есть ли другой путь решения проблемы?
хм... Странно.. Почти половина моего кода построенна на таких условиях, и всё нормально...
hooligan, если только 1 и 0, то всё в порядке, а если есть и другие цифры, то они путаются при проверке.
Simba, проверять на идентичность? Надо попробовать.
да,действительно сейчас сам проверил и вместо 1 поставил любое другое число,даже ряд произвольных чисел...и условие выполнилось
Это особенность языка программирования.
Необходимо производить сравнение с учетом типов данных. Максим уже все написал по этому поводу
хм,написал условие наоборот и работать стало четко даже при подстановки 0 условие не срабатывает на true
if($var != 1 )
вообщем true работает только на 1
То есть вот такой код выведет "Bingo!"?
$var = 123;
if ($var == 1)
echo 'Bingo!';
Можно тогда результат вот такого кода увидеть?
$var = 123;
var_dump($var);
var_dump(($var == 1));
Ну и такого для кучи:
echo phpversion();