Как мне проверить, отсутствует ли значение сеанса? Использую ли я isset() или использую $_session[«a»]==null

#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 .