if($error === null){}
предпочтительный (иногда он обязательный по стандартам), тк вариант
if(!$error){}
— это авто-приведение к bool:
- например 0 приведется к false, в то время как он может быть валидным интовым значением
- пустой массив — тоже может быть валидным значением, но с !$arr он приведется к false... конечно допускать в программе одновременно и [] и null стоит как можно реже, но такое может произойти
!$any
можно использовать комфортно, когда вы (и программа) уверена, что работает либо с объектом, либо с bool