PHP empty() и isset() - проверить что переменная установлена и что не пуста - отличия (какая разница)
Primary tabs
- empty() в случае если переменная не установлена (не существует) посчитает её пустой - предупреждения выведены не будут - то есть несуществующие переменные можно смело передавать в empty()
- isset() выполняет проверку только на то установлена/не установлена переменная, но не на пустоту (передавать несуществующие переменные тем более можно)
При этом :
Следующие значения воспринимаются как пустые:
- "" (пустая строка)
- 0 (целое число)
- 0.0 (дробное число)
- "0" (строка)
- NULL
- FALSE
- array() (пустой массив)
- $var; (переменная объявлена, но не имеет значения)
Из комментариев на php.net:
empty() is the opposite of (boolean) var, except that no warning
также из рус. документации:
[empty()] Проверяет, считается ли переменная пустой. Переменная считается пустой, если она не существует или её значение равно FALSE. empty() не генерирует предупреждение если переменная не существует.
Для пробы запустите код:
/*просто попытаемся проверить на пустоту ранее не встречающуюся в коде переменную*/ if (empty($qwerwe)) { echo ('$qwerwe is empty and may isnt set ! (no warning will be shown in both cases)'); }
- Log in to post comments
- 4218 reads