#php #session-variables #isset
#php #переменные сеанса #isset
Вопрос:
могут ли значения сеанса быть нулевыми, если они не установлены? или я должен использовать isset все время?
Ответ №1:
Есть много способов сделать это, все в порядке. Например:
empty($_SESSION['a'])
вернет true, если значение не существует или является пустым (пустой массив, ноль, пустая строка и т. Д.)isset($_SESSION['a'])
вернет true, если значение существуетarray_key_exists('a', $_SESSION)
также вернет true, если значение существует
Вы не должны просто использовать $_SESSION['a'] == null
, потому что, если a
значение не существует в $_SESSION
массиве, вы получите уведомление.
Комментарии:
1. также обратите внимание,
array_key_exists
вернет true, если для ключа было установлено значениеnull
, тогдаisset
как вернет false . Смотрите таблицу сравнения типов для справки.
Ответ №2:
Использование isset()
— это безопасный способ убедиться, что переменная сеанса установлена. Примечание: это вернет true, если значение равно FALSE .