Подтвердить что ты не робот

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

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?
4b9b3361

Ответ 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
}