web-dev-qa-db-fra.com

Vérifiez si la valeur du tableau est définie et est nulle

Comment vérifier si la variable de tableau

$a = array('a'=>1, 'c'=>null);

est défini et est nul.

function check($array, $key)
{
    if (isset($array[$key])) {
        if (is_null($array[$key])) {
            echo $key . ' is null';
        }
        echo $key . ' is set';
    }
}

check($a, 'a');
check($a, 'b');
check($a, 'c');

Est-il possible en PHP d'avoir une fonction qui vérifiera si $ a ['c'] est nul et si $ a ['b'] existe sans les erreurs "PHP Notice: ..." ?

18
Bartek Kosa

Utilisez array_key_exists() au lieu de isset(), car isset() renverra false si la variable est null, tandis que array_key_exists() vérifie simplement si la clé existe dans le tableau:

function check($array, $key)
{
    if(array_key_exists($key, $array)) {
        if (is_null($array[$key])) {
            echo $key . ' is null';
        } else {
            echo $key . ' is set';
        }
    }
}
43
nickb