Vérifier si le tableau de la valeur isset et est null
Façon de vérifier si une variable tableau
$a = array('a'=>1, 'c'=>null);
est définie et est null.
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 pour avoir une fonction qui va vérifier si $a['c'] est null et si $a['b'] existe pas sans "notice PHP: ..." erreurs?
Je n'ai pas tout avis, mises en garde avec votre code.
OriginalL'auteur Bartek Kosa | 2013-07-20
Vous devez vous connecter pour publier un commentaire.
Utilisation
array_key_exists()
au lieu deisset()
, parce queisset()
sera de retourfalse
si la variable estnull
, alors quearray_key_exists()
vérifie juste si la clé existe dans le tableau:is_null()
avec===
?Parce que c'est plus rapide.
Aucune preuve de cette affirmation? Parce que ce post et ce post semble fortement en désaccord avec vous, économie ns, au mieux, et de faire de votre modifier superflu, micro-optimisation.
Oui, c'est microoptimization, mais pourquoi ne pas faire de votre fonction de la manière la plus rapide qu'il peut l'être? La fonction Isset() est un peu plus lent parce que c'est l'appel de fonction.
OriginalL'auteur nickb
Vous pouvez passer par la référence:
Devrait donner aucun avis
Mais
isset
sera de retourfalse
sur les valeurs null. Vous pouvez essayer dearray_key_exists
au lieuBelle édition... 😉
vous post de réponse alors que j'ai été vérifier si des choses dont je me souviens:)
ouais, mon mauvais
C'est ce que je voulais. En raison de la fonction isset retourner false null je vais faire comme ceci: if(!isset($tableau[$key]) && is_null($tableau[$key])) qui est égal à true si $tableau[$key] est null.
OriginalL'auteur RiaD