zumak (26.08.2011/11:51)
хм,написал условие наоборот и работать стало четко даже при подстановки 0 условие не срабатывает на true
if($var != 1 )
вообщем true работает только на 1
Твой вариант я полагаю обрабатывается, как цифра, а не булава. Поскольку еси $var==1 и $var==true это одно и то же, а вот $var!=1 и $var==false это совсем разные вещи.
SAN, на твой пост (
26.08.2011 / 16:26) отвечу,
$var = 123; // $var = '123'; и так тоже
if ($var == 1)
echo 'Bingo!';
ничего не вывело
$var = 123;
var_dump($var);
var_dump(($var == 1));
int(123) bool(false)
echo phpversion();
5.3.5-1ubuntu7.2
З.Ы: что то Вы ребята напутали, единца в данном случае не должна (да и как видим не может) интерпритироваться как булево значение и что бы $var == 1 было TRUE - $var должна содержать либо целочисленное значение равное 1, либо строку '1'.
L!MP, вот и у меня примерно также. Потому и интересно, что у автора выведет. =)
Кстати, вот еще пруф:
http://www.php.net/manual/ru/l ... n.php
L!MP (26.08.2011/14:33)
$var = 123; // $var = '123'; и так тоже
if ($var == 1)
echo 'Bingo!';
ничего не вывело
Конешно, у тя вар равна 123, а в условии 1, так пиши:
$var = 123; // $var = '123'; и так тоже
if ($var == 1) {
echo 'Переменные равны';
} else {
echo 'Не равны переменные';
}
REALball, ты вникни хорошенько в суть проблемы
SAN, ога
а если так попробовать? (код может быть неправильно написан немного,но думаю суть уловите)
if($var == 1) echo 'true';
else if($var == 0) echo 'false';
else echo 'warring';
$x = 5;
if (($x>0)==1) {
echo ' верно';
} else {
echo ' не верно';
}
if (($x>0)==TRUE) {
echo ' верно';
} else {
echo ' не верно';
}
if (($x>0)===1) {
echo ' верно';
} else {
echo ' не верно';
}
if (($x>0)===TRUE) {
echo ' верно';
} else {
echo ' не верно';
}
это еще что?) зачем тут вообще == 1?