Проверьте, не меняется ли переменная
if ($user_id == NULL || $user_name == NULL || $user_logged == NULL) {
$user_id = '-1';
$user_name = NULL;
$user_logged = NULL;
}
if ($user_admin == NULL) {
$user_admin = NULL;
}
- Есть ли какой-нибудь самый короткий способ сделать это?
- И если я прав, он должен быть протестирован с помощью
is_null
?
- Возможно,
$user_id
, $user_name
и $user_logged
записать в одну строку (возможно, массив?) без повторения NULL
?
Ответы
Ответ 1
Если вы хотите проверить, действительно ли переменная NULL
, используйте оператор идентификации:
$user_id === NULL // FALSE == NULL is true, FALSE === NULL is false
is_null($user_id)
Если вы хотите проверить, не установлена ли переменная:
!isset($user_id)
Или, если переменная не пуста, пустая строка, ноль,...:
empty($user_id)
Если вы хотите проверить, не является ли переменная не пустой строкой, !
также будет достаточно:
!$user_id
Ответ 2
Вы можете проверить, не установлен ли (или пуст) несколькими способами.
if (!$var){ }
Или:
if ($var === null){ } // This checks if the variable, by type, IS null.
Или:
if (empty($var)){ }
Вы можете проверить, было ли оно объявлено с помощью:
if (!isset($var)){ }
Обратите внимание, что PHP интерпретирует 0 (целое число) и "(пустую строку), а false - как" пустые "- и присваивает разные типы, эти конкретные значения являются PHP одинаковыми. Не имеет значения, если $var никогда не задано/не объявлено или объявлено как $var = 0 или $var =" ". Часто вы сравниваете с помощью оператора ===, который сравнивается с типом данных. Если $var равно 0 (целое число), $var ==" "или $var == false будет проверяться, но $var ===" " или $var === false не будет.
Ответ 3
empty()
немного короче, в качестве альтернативы проверке !$user_id
, как предложено в другом месте:
if (empty($user_id) || empty($user_name) || empty($user_logged)) {
}
Ответ 4
здесь я объяснил, как работает пустая функция и isset, пожалуйста, используйте тот, который подходит, также вы можете использовать функцию is_null также
<?php
$val = 0;
//evaluates to true because $var is empty
if (empty($val)) {
echo '$val is either 0, empty, or not set at all';
}
//evaluates to true because $VAR IS SET
if (isset($val)) {
echo '$val is set even though it is empty';
}
?>
Ответ 5
1.
if(!($user_id || $user_name || $user_logged)){
//do your stuff
}
2. Нет. Я действительно не понимал, почему вы пишете такую конструкцию.
3. Поместите все значения в массив, например $ar [ "user_id" ] и т.д.
Ответ 6
Пожалуйста, определите, что вы подразумеваете под "пустым".
Обычно я использую isset()
.
Ответ 7
вы можете использовать процедуру isset().
Кроме того, вы можете ссылаться на ряд функций is_type(), таких как
is_string(), is_float(), is_int() и т.д., чтобы дополнительно проверить тест
Ответ 8
Самый простой и простой способ проверить, является ли переменная пустой в PHP, - это просто использовать функцию empty().
если пусто (переменная $)
тогда
....
Эта ссылка ниже показывает, как это работает в целом:
http://www.allthingsdiscussed.com/More/How-to-check-if-a-variable-is-empty-in-PHP.php
Ответ 9
<?php
$nothing = NULL;
$something = '';
$array = array(1,2,3);
// Create a function that checks if a variable is set or empty, and display "$variable_name is SET|EMPTY"
function check($var) {
if (isset($var)) {
echo 'Variable is SET'. PHP_EOL;
} elseif (empty($var)) {
echo 'Variable is empty' . PHP_EOL;
}
}
check($nothing);
check($something);
check($array);
Ответ 10
Его стоит отметить - и я узнал об этом через почти 9 лет PHP-кодирования, что лучший способ проверить любую переменную существует, используя функцию empty(). Это связано с тем, что он не генерирует ошибок и даже отключает их - PHP все еще их создает! empty(), однако, не будет возвращать ошибки, если переменная не существует. Поэтому я верю, что правильным ответом является не проверка его нулевого значения, а выполнение следующих
if (!empty($var) && is_null($var))
Обратите внимание на руководство по PHP
считается пустой, если она не существует или ее значение равно FALSE
В отличие от нулевого значения, которое здесь удобно!
Ответ 11
Чувствовал себя вынужденным ответить на это из-за других ответов. Используйте empty(), если можете, потому что он охватывает больше баз. Будущее, вы будете благодарить меня.
Например, вам нужно будет делать такие вещи, как isset() && strlen(), где вместо этого вы можете использовать empty(). Подумайте об этом, как этот пустой, как! Isset ($ var) || $Вар == ложь
Ответ 12
Чтобы проверить нулевые значения, вы можете использовать is_null(), как показано ниже.
if (is_null($value)) {
$value = "MY TEXT"; //define to suit
}