проверьте, не меняется ли переменная

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; } 
  1. Есть ли самый короткий способ сделать это?
  2. И если я прав, он должен быть протестирован с is_null ?
  3. Возможно, $user_id , $user_name и $user_logged записываются в одну строку (возможно, массив?), Не повторяя NULL ?

Если вы хотите проверить, действительно ли переменная имеет NULL , используйте оператор идентификации:

 $user_id === NULL // FALSE == NULL is true, FALSE === NULL is false is_null($user_id) 

Если вы хотите проверить, не задана ли переменная:

 !isset($user_id) 

Или, если переменная не пуста, пустая строка, ноль, …:

 empty($user_id) 

Если вы хотите проверить, не является ли переменная пустой строкой ! также будет достаточно:

 !$user_id 

Вы можете проверить, не установлен ли он (или пуст) несколькими способами.

 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 не будет.

empty() немного короче, в качестве альтернативы проверке !$user_id как предложено в другом месте:

 if (empty($user_id) || empty($user_name) || empty($user_logged)) { } 

здесь я объяснил, как работает пустая функция и 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'; } ?> 

Пожалуйста, определите, что вы подразумеваете под «пустым».

Обычно я использую isset() .

вы можете использовать процедуру isset ().

Кроме того, вы можете ссылаться на ряд функций is_type (), таких как

is_string (), is_float (), is_int () и т. д., чтобы дополнительно проверить

Самый простой и простой способ проверить, является ли переменная пустой в PHP, – это просто использовать функцию empty ().

если пусто (переменная $), то ….

Эта ссылка ниже показывает, как это работает в целом:

http://www.allthingsdiscussed.com/More/How-to-check-if-a-variable-is-empty-in-PHP.php

1.

 if(!($user_id || $user_name || $user_logged)){ //do your stuff } 

2. Нет. Я действительно не понимал, почему вы пишете такую ​​конструкцию.

3. Поместите все значения в массив, например $ ar ["user_id"] и т. Д.

 <?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); - <?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); 

Его стоит отметить – и я только узнал об этом после почти 9 лет программирования PHP, что лучший способ проверить любую переменную существует, используя функцию empty (). Это связано с тем, что он не генерирует ошибок и даже отключает их – PHP все еще их создает! empty (), однако, не будет возвращать ошибки, если переменная не существует. Поэтому я верю, что правильный ответ заключается не в том, чтобы проверить, не имеет ли значение null, но сделать следующее

 if (!empty($var) && is_null($var)) 

Обратите внимание на руководство по PHP

переменная считается пустой, если она не существует или ее значение равно FALSE

В отличие от того, чтобы быть нулевым, что удобно здесь!

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

Например, вам нужно будет делать такие вещи, как isset () && strlen (), вместо этого вы можете использовать empty (). Подумайте об этом, как этот пустой, как! Isset ($ var) || $ Вар == ложь

Чтобы проверить нулевые значения, вы можете использовать is_null (), как показано ниже.

 if (is_null($value)) { $value = "MY TEXT"; //define to suit }