Duplicata possible :
Quelle est la différence entre is_null($var) et ($var === null) ?
PHP en a deux (à ma connaissance, et trois si vous comptez les isset()
) pour déterminer si une valeur est nulle : is_null()
y === null
. J'ai entendu, mais pas confirmé, que === null
est plus rapide, mais lors d'une revue de code, quelqu'un m'a fortement suggéré d'utiliser is_null()
à la place, car il est spécifiquement conçu pour l'objectif de l'évaluation nulle. Il a aussi commencé à parler de mathématiques ou quelque chose comme ça.
Quoi qu'il en soit, le fait que is_null()
est apparemment plus lente me pousse à croire qu'elle fait plus que === null
le fait et est probablement préféré. Y a-t-il une raison d'utiliser l'un ou l'autre ? L'une d'elles est-elle toujours préférable ? Qu'en est-il de isset()
?
En guise d'addendum pour que cette question ne soit pas fermée, que diriez-vous de isset()
vs. is_null()
? Il semble que tous isset()
supprimera l'avis, donc à moins que vous n'ayez réellement veulent un avis pour une variable non définie, une raison quelconque d'utiliser is_null()
à la place ? Et si vous savez que la variable est initialisée à ce moment-là ?
Enfin, y a-t-il une raison mathématique pour préférer is_null()
sur === null
? Quelque chose à propos de la nullité qui n'est pas comparable ?