это зависит от того, что такое $ _SESSION ['user_id'].
isset используется для определения значения, не равного NULL. Это означает, что isset вернет false, пока $ _SESSION ['user_id'] равно нулю.
но '$ _SESSION [' user_id '] == true' работает более сложно.
значение будет автоматически преобразовано, если для оператора, функции или структуры управления требуется логический аргумент.
, следовательно, '$ _SESSION [' user_id '] == true' равно true или false, зависит от того, во что преобразуется $ _SESSION ['user_id'].
При преобразовании в логическое значение следующие значения считаются ЛОЖНЫМИ:
- само логическое ЛОЖЬ
- целое число 0 (ноль)
- Поплавок 0.0 (ноль)
- пустая строка и строка "0"
- массив с нулевыми элементами
- специальный тип NULL (включая неустановленные переменные)
- SimpleXML-объекты, созданные из пустых тегов
PHP Booleans