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

PHP проверяет, является ли False или Null

Я также путаюсь, как проверить, является ли переменная false/null при возврате из функции.

Когда использовать empty() и когда использовать isset() для проверки условия?

4b9b3361

Ответ 1

Для возврата из функций вы не используете ни isset, ни empty, поскольку они работают только с переменными и просто проверяются на наличие несуществующих переменных без возникновения ошибок.

Для проверки функций для существования переменных бесполезно, так что просто:

if (!my_function()) {
    // function returned a falsey value
}

Подробнее об этом см. Окончательное руководство по PHP isset И пустое.

Ответ 2

Проверка переменной (несколько примеров)

if(is_null($x) === true) // null
if($x === null) // null
if($x === false)
if(isset($x) === false) // variable undefined or null
if(empty($x) === true) // check if variable is empty (length of 0)

Ответ 3

Isset() проверяет, имеет ли переменная значение, включая (False, 0 или Empty string), но не NULL. Возвращает TRUE, если var существует; FALSE в противном случае.

С другой стороны, функция empty() проверяет, имеет ли пустая строка пустая строка, 0, NULL или False. Возвращает FALSE, если var имеет непустое и ненулевое значение.

Ответ 4

ISSET проверяет переменную, чтобы увидеть, была ли она установлена, другими словами, она проверяет, есть ли переменная какое-либо значение, кроме NULL или not assigned a value. ISSET возвращает TRUE, если переменная существует и имеет значение, отличное от NULL. Это означает, что переменные, назначенные ", 0," 0" или FALSE, установлены и, следовательно, TRUE для ISSET.

EMPTY проверяет, пуста ли переменная. Пустой интерпретируется как: "(пустая строка), 0 (0 как целое число), 0.0 (0 в виде float)," 0 "(0 в виде строки), NULL, FALSE, array() (пустой массив ) и" $var;" (переменная объявлена, но без значения в классе.

Ответ 5

  • check false: if ($ v === false)
  • check null: if (is_null ($ v))

empty() является злом. Он медленный, и когда $v queals false, 0, '0', array(), '', он вернет true.if вам нужно это вид проверки, вы можете использовать if ($ v).

Ответ 6

isset - определить, установлена ​​ли переменная и не является NULL

$a = "test";
$b = "anothertest";

var_dump(isset($a));      // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE

empty - определить, пуста ли переменная

<?php
$var = 0;

// Evaluates to true because $var is empty
if (empty($var)) {
  echo '$var is either 0, empty, or not set at all';
}

// Evaluates as true because $var is set
if (isset($var)) {
  echo '$var is set even though it is empty';
}
?>