Je souhaite identifier rapidement si une clé est présente dans une matrice, pour éviter de générer une erreur.Comment vérifier si une valeur de matrice profonde est présente
Par exemple, je pourrais avoir un tableau comme celui-ci
$arr['f']['b']['g'] = array('a', 'b', 'c',) ;
Ou le tableau pourrait ne pas avoir de variables $ arr [ 'f'] [ 'b'] du tout:
$arr['f']['x'] = array() ;
Comment puis-je éviter la répétition dans un test lorsque je référence le (peut-être) contenu de $ arr ['f'] ['b'] ['g']?
if (isset($arr['f']) &&
isset($arr['f']['b']) &&
isset($arr['f']['b']['g']) /* ... yawn */) {
/* blah */
}
Il doit y avoir un moyen de déterminer si une valeur de tableau donnée que je référence existe? Il semble beaucoup trop verbeux de devoir tester la présence à la fois de la valeur que je recherche et de toute son ascendance. Dans certaines circonstances, cela a du sens, oui, mais pas tous.
Par exemple: il peut représenter, par exemple, user-> session-> panier, où je veux un moyen de vérifier rapidement si le panier a des entrées, sans avoir à inclure un contrôle pour chaque si l'utilisateur existe, si la session existe , alors que le panier existe, ...
Edit: Je ne cherche pas « fait une valeur de tableau avec un nom de clé de « g » existe », comme "fait une valeur de tableau avec une ascendance de f => b => g existe".
Huh! Bien repéré :) –
Juste pour clarifier, cela aussi teste l'existence de '$ a': il retourne false si' $ a' n'est pas défini. –
Wow, était sûr pendant des années que cela ne fonctionne pas. Lol. – baldrs