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

Какая разница между "isset()" и "! Empty()" в PHP?

Я не понимаю разницы между isset() и !empty().

Потому что, если переменная была установлена, не является ли она такой же, как не пустой?

4b9b3361

Ответ 1

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

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

Для получения дополнительной информации см. в этой статье

Ответ 4

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

!empty - Определите, является ли переменная НЕ пустой.

Ответ 5

Isset возвращает false, если переменная не была установлена ​​или она равна null, и возвращает значение true, если переменная установлена ​​и не равна нулю.

! empty возвращает true, если переменная установлена ​​и не пуста. Пустая строка, пустой массив, "0", 0 и false определяются как пустые.

Ответ 6

И еще одно замечание. empty() проверяет, существует ли переменная. То есть если мы выполним empty() для переменной, которая не была объявлена, мы не получим ошибку, empty() возвращает 'true'. Поэтому мы можем избежать isset(), если в следующий раз нам нужно проверить, пуста ли переменная.

Итак,

isset($var) && !empty($var)

будет равно

!empty($var)

Ответ 7

ISSET() возвращает значение, если переменная имеет значение true, а также имеет значение null или false, возможно, это зависит от процесса вашей программы. И EMPTY() проверяет, что переменная пуста.