Как проверить существование переменной Друпала нормально?

Главные вкладки

Комментарии

Аватар пользователя remmor remmor 19 февраля 2015 в 18:43

"orion76" wrote:
Нужно выяснить что переменная не "подобна" FALSE, а именно ОТСУТСТВУЕТ?

Ну да. Что переменной нет такой, даже записи в базе.

Аватар пользователя Orion76 Orion76 22 февраля 2015 в 8:56

Функция variable_get при отсутствии переменной с нужным именем возвращает значение, переданное ей во втором аргументе.(по умолчанию - NULL).

Единственная проблема может быть, если переменная с именем существует и имеет такое же значение, как и значение по умолчанию, возвращаемое функцией variable_get.

Значит надо во втором аргументе передать такое значение, которое не может содержать нужная переменная, чтобы отличить значение переменной от значения по умолчанию ОДНОЗНАЧНО..

Тут уже все зависит, так сказать, от контекста.
Если переменная может содержать только число, передаем в значении по умолчанию строку.(например "undefined") или наоборот (переменная - строка, передпем число).
Если переменная содержит только положительное число - передаем отрицательное (например -1)
и т.д.

В крайнем случае передаем какую либо уникальную строку например "jdURshLERgJFDr&834KFJr;lgmeRUhefg;"-)

<?php
define
("MY_VARIABLE_IS_UNDEFINED""jdURshLERgJFDr&834KFJr;lgmeRUhefg;");

...

$var=variable_get("my_var",MY_VARIABLE_IS_UNDEFINED);
if(
$var == MY_VARIABLE_IS_UNDEFINED){
...
}else{
...
}

?>