@4sadly

Php! или === null?

Надо проверить переменную $error на наличие ошибок, что лучше:
if($error === null){}
или
if(!$error){}
?
  • Вопрос задан
  • 172 просмотра
Решения вопроса 2
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
if($error === null){} предпочтительный (иногда он обязательный по стандартам), тк вариант if(!$error){} — это авто-приведение к bool:

  • например 0 приведется к false, в то время как он может быть валидным интовым значением
  • пустой массив — тоже может быть валидным значением, но с !$arr он приведется к false... конечно допускать в программе одновременно и [] и null стоит как можно реже, но такое может произойти


!$any можно использовать комфортно, когда вы (и программа) уверена, что работает либо с объектом, либо с bool
Ответ написан
@FanatPHP
Чебуратор тега PHP
если переменная была заранее объявлена, то
if(!$error){}
если не была, то
if(!empty($error)){}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Если есть возможность, меняйте тип возвращаемого значения, т.е. зоведите специальный класс Error и после вызова проверяйте тип результата.

Еще есть практика выноса статуса ошибок из возвращаемого значения, так как ошибки бывают разные и требуют разной ответной реакции, с помощью исключений - классов потомков Exception

В этом случае каждый вариант ошибки должен быть отловлен в своей секции catch а вызов в try (саму ошибку инициализировать с помощью throw).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Spice IT Recruitment Москва
До 230 000 ₽
Smart Медицина Москва
от 150 000 ₽
Playkot Санкт-Петербург
от 150 000 до 200 000 ₽
07 июл. 2020, в 07:31
1000 руб./за проект
06 июл. 2020, в 23:49
10000 руб./за проект
06 июл. 2020, в 23:32
35000 руб./за проект