session_start()
, qui est obligatoire pour que le gestionnaire de session fonctionne. PEBKAC.
$_SESSION
est null
.
if( isset($_SESSION['tototo']) ) { ... }
isset($_SESSION)
, puis array_key_exists("tototo", $_SESSION)
. Ça évitera toute confusion.
isset($foo['toto']['titi']['tata'])
fonctionne très bien sans que $foo['toto']['titi']
ou même $foo
ne soient définis. PHP gère ce genre de chose. Et il n'y a aucune confusion puisque le but étant de savoir s'il y a quelque chose dedans, null
n'est pas souhaitable ici.array_key_exists
c'est moche, 5 fois plus long à l'exécution, et ça va renvoyer true
même si la valeur est null
alors ce n'est pas du tout ce qu'on veut tester.
session_start()
est plus conseillé.isset
retourne false.isset
de cette façon, mais il y a bel et bien des cas où c'est nécessaire. La question n'est pas de savoir si PHP le gère ou quoi. Il le gère, tant mieux. Ça ne m'empêche pas de vouloir faire des tests précis quand j'en ai besoin.isset
tout en ayant démontré à peine un commentaire avant qu'un bug pouvait passer inaperçu avec cette méthode.
array_key_exists
n'effectue pas ici le test qui m'intéresse. Et le tableau à null n'est pas bug inaperçu.
Bon, si le type a passé trois jours sans lire les messages d'erreurs ou quoi que ce soit, d'accord, mais en l'état, ça fait un peu faible pour constituer un PEBKAC. Je m'abstiens.