Что такое null/nil в PHP и как с ним работать?
Всем привет! Я новичок в PHP и пытаюсь разобраться с типом null (или nil, как его иногда называют). В документации написано, что это специальное значение, обозначающее «отсутствие значения», но на практике у меня возникают странные ошибки.
Например, я пишу простой код:
$user = getUserFromDatabase($id); // функция может вернуть null, если пользователь не найден
echo $user->name;
Если пользователь найден, всё работает, но если нет — вылетает ошибка "Trying to get property 'name' of non-object". Я понимаю, что нужно проверять на null, но как это правильно делать? Пробовал if ($user != null) и if (is_null($user)), но иногда поведение разное. Также слышал про оператор ?? (null coalescing) — он работает только для переменных или для свойств тоже?
Ещё вопрос: как отличить null от пустой строки или false? У меня была ситуация, когда $value = '' и $value = null вели себя одинаково в условии if (!$value). Как правильно проверять именно на null?
Буду благодарен за примеры с пояснениями, особенно про работу с массивами и объектами. Какие best practices по работе с null в современном PHP (8.x)?
Ответов пока нет.
Войдите чтобы оставить ответ