[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запутался с условиями
zuher
Имею такую конструкцию:
if($a2==null && $u2==null){$mess_for="mess1";}
if($a2!==null && $u2==null){$mess_for="mess2";}
if($a2==null && $u2!==null){$mess_for="mess3";}


изначально $a2 ; $u2 пусты
но у меня происходит событие "mess3"

помогите разобраться пожалуйста



Спустя 11 минут, 42 секунды (17.04.2012 - 22:24) alexbel2404 написал(а):

Спустя 1 минута, 58 секунд (17.04.2012 - 22:26) I++ написал(а):
А если так?

if($a2 === null && $u2 === null){$mess_for="mess1";}
if($a2 !== null && $u2 === null){$mess_for="mess2";}
if($a2 === null && $u2 !== null){$mess_for="mess3";}


При == сравнение происходит не по типу, а по значению. Если переменные пусты, это получится то же самое, что и null.

Цитата
alexbel2404

Чуть выше поставь $a2 = '';$u2 =''; будет mess3

Спустя 4 минуты, 22 секунды (17.04.2012 - 22:30) zuher написал(а):
I++
не помогло, вообще ни одно условие не сработало

Изначально переменные дёргаю из пустых ячеек Mysql

alexbel2404 - я вот тоже думал что правильно все написал ))) но вот не проканало

Спустя 1 минута, 55 секунд (17.04.2012 - 22:32) zuher написал(а):
Образно говоря идет опрос из созданной заявки, если какое то поле не заполнено, юзеру выдается "какое именно" он должен заполнить

Спустя 36 секунд (17.04.2012 - 22:33) alexbel2404 написал(а):
Цитата
alexbel2404
Чуть выше поставь $a2 = '';$u2 =''; будет mess3

не внимательный я)

Спустя 47 секунд (17.04.2012 - 22:34) I++ написал(а):
<?php

$a2 = 'тест';
$u2 = null;

if($a2 === null && $u2 === null){$mess_for="mess1";}
if($a2 !== null && $u2 === null){$mess_for="mess2";}
if($a2 === null && $u2 !== null){$mess_for="mess3";}

var_dump($mess_for);

?>


Вообще если пустое, то проверяй так:

<?php

$a2 = 'тест';
$u2 = '';

if($a2 == '' && $u2 == ''){$mess_for="mess1";}
if($a2 != '' && $u2 == ''){$mess_for="mess2";}
if($a2 == '' && $u2 != ''){$mess_for="mess3";}

var_dump($mess_for);

?>


или

в этом случае не важно пустая переменная или null

<?php

$a2 = 'тест';
$u2 = '';

if(empty($a2) && empty($u2)){$mess_for="mess1";}
if(!empty($a2) && empty($u2)){$mess_for="mess2";}
if(empty($a2) && !empty($u2)){$mess_for="mess3";}

var_dump($mess_for);

?>

Спустя 55 секунд (17.04.2012 - 22:35) alexbel2404 написал(а):
проверяй не на равно null, а
if(empty($a2) && empty($u2)){$mess_for="mess1";}

и так для всех

Спустя 54 секунды (17.04.2012 - 22:35) inpost написал(а):
Не заполнено, то есть пустое, для этого проверка: !empty()

Спустя 20 минут, 8 секунд (17.04.2012 - 22:56) zuher написал(а):
сработало с одинарными кавычками ))) спасибо )))
изначально я ставил условия с двойными кавычками, потом перебрался к null
в конец запутался, а про одинарные даже не подумал...
а в чем разница между одинарными и двойными?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.