Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проверить 2 параметра в 1 if
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Проверить 2 параметра в 1 if

Страниц (1): [1]
 

1. Viper - 21 Мая, 2014 - 11:09:55 - перейти к сообщению
Есть 2 параметра с значениями

1. $abc = 1/0
2. $def = null/0/1 (null просто пустое значение)

В втором параметре значение null означает что значение берется из $abc. Проверяю так

PHP:
скопировать код в буфер обмена
  1. if (($def == '' && !$abc) || !$def) {
  2. // true
  3. }


Не работает если $abc != 1 и $def == null. Где ошибка что-то не могу сообразить...?
2. esterio - 21 Мая, 2014 - 11:17:42 - перейти к сообщению
3. Viper - 21 Мая, 2014 - 12:34:02 - перейти к сообщению
esterio несколько непонятно причем тут типизация. Или я опять туплю...

Все значения этих двух переменных string.
4. esterio - 21 Мая, 2014 - 12:54:11 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $def = null;
  2. $def == ''; //true
  3. $def === ''; //false

Поетому
PHP:
скопировать код в буфер обмена
  1. $def = 0;
  2. !$def // true
  3. $def == 0; //true
  4. $def == null; // true

Думаю намек ясен
5. Viper - 21 Мая, 2014 - 13:19:37 - перейти к сообщению
Угу. Сделал.

 

Powered by ExBB FM 1.0 RC1