в чем разница между empty () и $ _POST [«name»] == «»; в php?

0

я не мог понять, что представляет собой реальная разница между empty() и $_POST["xxx"]==""?

Теги:

2 ответа

9
Лучший ответ

empty() - это оператор (в отличие от любой функции, которую вы могли бы определить), которая не будет запускать E_NOTICE, если вызывается в переменной, которая фактически не определена. Таким образом, он также включает проверку isset.

Определите, считается ли переменная пустой. Переменная считается пустой, если она не существует или ее значение равно FALSE. empty() не генерирует предупреждение, если переменная не существует.

Обратите внимание, что "equals FALSE" означает сравнение ==, поэтому, например, пустые строки, строка, содержащая нулевой, пустой, пустой массив, считается пустой.

  • 0
    Подумайте, достаточно if ($_POST["xxx"]) .
  • 1
    Также следует отметить, что вызов isset() будет означать, что он также не может быть NULL . @skobaljic Это вызвало бы E_NOTICE , хотя.
Показать ещё 3 комментария
0

Следующие вещи считаются пустыми (return true):

"" (пустая строка)

0 (0 как целое число)

0.0 (0 в качестве поплавка)

"0" (0 в виде строки)

НОЛЬ

ЛОЖНЫЙ

array() (пустой массив)

$ Var; (объявленная переменная, но без значения)

НО

$ _POST [ "ххх"] == ""

Возвращает true, когда $ _POST ["xxx"] является пустой строкой

Ещё вопросы

Сообщество Overcoder
Наверх
Меню