Bonjour,

J'ai une question !

Est-ce que ce code est une condition qui renvoie la valeur de clé 'auth' du tableau $_SESSION
si cette clé est remplis ?

Comment appelle-t-on ce type de condition ?

return isset($_SESSION['auth']);

2 réponses


Ou encore plus court et plus lisible :

return $_SESSION['auth'] ?? null;

Bonjour.
Il faudrait déja savoir ce que tu appelles remplie, car là avec isset tu vérifies juste si la clé auth existe.
C'est comme-ci tu utilisais la fonction array_key_exists, qui comme son nom l'indique, permet de vérifier l'existence d'une clé dans un tableau.
Ensuite, si la session n'est pas démarrée au moment où tu fais la vérification, tu vas avoir un problème.
Pour savoir si tu as une valeur pour la clé auth, tu as deux solution

  • !empty($_SESSION['auth']), en plus de vérifier si la clé auth existe, ça vérifiera que la valeur n'est pas vide, et ce que ce soit une chaîne de caractère ou un tableau
  • $_SESSION['auth'] !== '' vérifiera seulement si une valeur lui est définie, par conséquent une chaîne non vide, celle-ci peut retourner une erreur si la clé auth n'est pas définie et ne te permettra pas de vérifier dans le cas d'un tableau s'il est vide ou non et te retournera normalement une erreur

Il y a un cas supplémentaire, dans le cas d'un objet, aucune de ces deux solutions ne permettra de faire de vérification dessus.
Ce serait donc bien que tu sois plus précis sur la vérification que tu veux faire, et la valeur possible string|array|object.