[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: $Vars == null
Agahnim
Появилась необходимость выводить некий текст только если все переменные == null.
Пробовал задать array - не пошло.


if (/* сюда нужно условие отсутствия переменных */) {
echo gamelist::getallgames();
}
if ($os) {
echo gamelist::getgamesperos($os);
}
if ($status) {
echo gamelist::getgamesperstatus($status);
}


Нужны способы реализации или название функции если таковая есть - сам погуглю.



Спустя 2 минуты, 56 секунд (4.10.2011 - 13:56) Michael написал(а):
Цитата
вары
...
сюда нужно условие отсутствия варов

это кто такие?

Спустя 8 минут, 57 секунд (4.10.2011 - 14:05) forza написал(а):
if(empty($var))

Спустя 1 минута, 50 секунд (4.10.2011 - 14:06) Agahnim написал(а):
Цитата (Michael @ 4.10.2011 - 10:56)
Цитата
вары
...
сюда нужно условие отсутствия варов

это кто такие?

Переменные*

Спустя 1 минута, 40 секунд (4.10.2011 - 14:08) Agahnim написал(а):
Цитата (forza @ 4.10.2011 - 11:05)
if(empty($var))

Нет, это только одна переменная, а мне нужно чтобы не заданы были все.

Спустя 1 минута, 32 секунды (4.10.2011 - 14:10) Winston написал(а):
if(!isset($var1, $var2, $var3))

Так ? :blink:

Спустя 46 секунд (4.10.2011 - 14:10) Agahnim написал(а):
Логично, сейчас посмотрим.

Спустя 3 минуты, 31 секунда (4.10.2011 - 14:14) Agahnim написал(а):
Цитата (Winston @ 4.10.2011 - 11:10)
if(!isset($var1, $var2, $var3))

Так ? :blink:

Нет - переменных указанных нет - а функция не выводится.

Спустя 54 минуты, 10 секунд (4.10.2011 - 15:08) Agahnim написал(а):
Я так понял что помощи можно не ждать?

Спустя 3 минуты, 2 секунды (4.10.2011 - 15:11) Winston написал(а):
Цитата (Agahnim @ 4.10.2011 - 15:08)
Я так понял что помощи можно не ждать

Нет нормально сформированного вопроса - нет ответа...
Цитата (Agahnim @ 4.10.2011 - 13:53)
Появилась необходимость выводить некий текст только если все переменные == null.

Что значит все переменные ?
Так ???
if (is_null($var1) && is_null($var2) && is_null($var2)) {
echo gamelist::getallgames();
}

Спустя 11 минут, 21 секунда (4.10.2011 - 15:22) Michael написал(а):
Цитата (Agahnim @ 4.10.2011 - 14:08)
Я так понял что помощи можно не ждать?

весь код приводи. Ты не правильно просто проблему локализуешь. И кусок кода не тот постишь. Нужно тот, где переменные могут быть определены, а могут быть и неопределены. Что в общем неверно, т.к. переменные надо определять всегда(инициализируя как null или подобное), а вот устанавливать значение - по логике программы(от внешних событий, ...).

Спустя 2 часа, 16 минут, 27 секунд (4.10.2011 - 17:39) Agahnim написал(а):
Как всегда разобрался сам -
if (!$os && !$status)

Спустя 14 часов, 43 минуты, 44 секунды (5.10.2011 - 08:23) linker написал(а):
Если null то условие должно быть
if (is_null($var)) {}
под условие
if (!$os) {}
попадёт любое из значений ниже
$os = '';
$os = 0;
$os = false;
$os = array();
$os = null;
поэтому ты определись чего тебе нужно, ибо потом логическую ошибку будет найти очень и очень сложно.

Спустя 5 часов, 55 минут, 4 секунды (5.10.2011 - 14:18) Agahnim написал(а):
Цитата (linker @ 5.10.2011 - 05:23)
Если null то условие должно быть
if (is_null($var)) {}
под условие
if (!$os) {}
попадёт любое из значений ниже
$os = '';
$os = 0;
$os = false;
$os = array();
$os = null;
поэтому ты определись чего тебе нужно, ибо потом логическую ошибку будет найти очень и очень сложно.

Спасибо что объяснили :)

Но - я ведь тогда не могу указать 2 и более условий (переменных). :(

if (is_null($os) || is_null($status))

Не выводит ничего, совсем.

Спустя 16 минут, 35 секунд (5.10.2011 - 14:34) Agahnim написал(а):
Разобрался в проблеме - скорее всего

$os = strip_tags(htmlspecialchars($_GET['os']));
$status = strip_tags(htmlspecialchars($_GET['status']));

Давал именно
$os = '';

А не null.

Решение -
if (is_null($_GET['os']) && is_null($_GET['status']))

Спустя 14 минут, 6 секунд (5.10.2011 - 14:48) Michael написал(а):
Говорил тебе про объявление переменных, но до тебя не доходит.

$os = isset($_GET['os']) ?  strip_tags(htmlspecialchars($_GET['os'])) : '';
$status = isset($_GET['status']) ? strip_tags(htmlspecialchars($_GET['status'])) : '';

// переменные определены в любом случае. Если пустая - значит не передали

if (!$os && !$status) { // ...


Плюс разберись с логическими операторами - логическое сложение, умножение, а то у тебя разброс по постам идет. Обычно такая проверка делается на существование всех нужных переменных, а не отсутствие всех переменных.
Быстрый ответ:

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