web-dev-qa-db-fra.com

PHP - Vérifier si l'index du tableau existe ou est nul

Existe-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 existe mais est nul. Si je le fais: isset($array[$index]) || is_null($array[$index]) cela ne fonctionnera pas car si l'index n'existe pas, is_null plantera.

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 s'il est défini sur null ou non?

25
Virus721

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

25
Virus721

C'est la 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)) {
   // Should evaluate to FALSE
 }; 

if (array_key_exists('foo', $a)) {
   // Should evaluate to TRUE
};

Cela résoudra votre problème

12
Vineet1982

Plus simple défini dans: http://php.net/manual/en/function.array-key-exists.php

<?php
$array=array('raja'=>'value', 'john'=>'value2');
$var='raja';
echo array_key_exists($var, $array);
?>
6
Teerath Kumar