Я не понимаю разницы между isset()
и !empty()
.
Потому что, если переменная была установлена, не является ли она такой же, как не пустой?
Я не понимаю разницы между isset()
и !empty()
.
Потому что, если переменная была установлена, не является ли она такой же, как не пустой?
ISSET проверяет переменную, чтобы увидеть, была ли она установлена. Другими словами, он проверяет, есть ли переменная какое-либо значение, кроме NULL или не присвоенное значение. ISSET
возвращает TRUE
, если переменная существует и имеет значение, отличное от NULL. Это означает, что переменные, назначенные ", 0," 0" или FALSE, установлены и поэтому TRUE
для ISSET
.
EMPTY проверяет, пуста ли переменная. Пустой интерпретируется как: "(пустая строка), 0 (целое число), 0.0 (float) `," 0 "(строка), NULL, FALSE, array() (пустой массив) и" $var; " (переменная объявлена, но без значения в классе.
Для получения дополнительной информации см. в этой статье
Источник: http://php.net/manual/en/types.comparisons.php На этой странице показано сравнение empty()
, is_null()
, isset()
.
Таблицы сравнения типов дают ответы на все вопросы об этих операторах.
isset
- Определите, установлена ли переменная и не является NULL.
!empty
- Определите, является ли переменная НЕ пустой.
Isset возвращает false, если переменная не была установлена или она равна null, и возвращает значение true, если переменная установлена и не равна нулю.
! empty возвращает true, если переменная установлена и не пуста. Пустая строка, пустой массив, "0", 0 и false определяются как пустые.
И еще одно замечание. empty()
проверяет, существует ли переменная. То есть если мы выполним empty()
для переменной, которая не была объявлена, мы не получим ошибку, empty()
возвращает 'true'. Поэтому мы можем избежать isset()
, если в следующий раз нам нужно проверить, пуста ли переменная.
Итак,
isset($var) && !empty($var)
будет равно
!empty($var)
ISSET() возвращает значение, если переменная имеет значение true, а также имеет значение null или false, возможно, это зависит от процесса вашей программы. И EMPTY() проверяет, что переменная пуста.