40 votes

PHP - Vérification de l'existence ou de la valeur nulle de l'index du tableau

Y a-t-il un moyen de vérifier si un index de tableau existe ou est nul? isset() ne vous dit pas si l'index n'existe pas ou s'il existe mais est nul. Si je fais : isset($array[$index]) || is_null($array[$index]) cela ne fonctionnera pas car si l'index n'existe pas, is_null va planter.

Comment puis-je vérifier cela s'il vous plaît? Existe-t-il également un moyen de vérifier uniquement si quelque chose existe, peu importe qu'il soit défini sur null ou non?

42voto

Virus721 Points 3770

La fonction array_key_exists() peut le faire, et property_exists() pour les objets, en plus de ce que Vineet1982 a dit. Merci pour votre aide.

19voto

Vineet1982 Points 2735

C'est une très bonne question et vous pouvez utiliser get_defined_vars() pour cela :

$foo = NULL;
$a = get_defined_vars();

if (array_key_exists('def', $a)) {
   // Doit être évalué à FALSE
 }; 

if (array_key_exists('foo', $a)) {
   // Doit être évalué à TRUE
};

Cela résoudra votre problème

8voto

Teerath Kumar Points 285

Défini le plus simplement dans : http://php.net/manual/en/function.array-key-exists.php

'valeur', 'john'=>'valeur2');
$var='raja';
echo array_key_exists($var, $array);
?>

OU

'valeur', 'john'=>'valeur2');

echo isset($array['raja']) ? "existe" : "n'existe pas";
?>
//Résultat : existe

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X