Considérez ces 2 exemples...
$key = 'jim';
// example 1
if (isset($array[$key])) {
// ...
}
// example 2
if (array_key_exists($key, $array)) {
// ...
}
J'aimerais savoir si l'un ou l'autre est meilleur. J'ai toujours utilisé le premier, mais j'ai vu beaucoup de personnes utiliser le second exemple sur ce site.
Alors, lequel est le meilleur ? La rapidité ? Une intention plus claire ?
0 votes
Je n'ai pas fait de benchmarks, non. Aurais-je dû le faire avant de demander ?
4 votes
isset
ne se comportera jamais exactement commearray_key_exists
l'exemple de code qui est censé le faire se comporter de manière identique jette un avis si la clé n'existe pas.0 votes
Qu'en est-il
in_array
? maettig.com/13972462201 votes
@DanMan,
in_array
esO(n)
car il vérifie les valeurs et non les clés. Elles seront presque toujours plus lentes, à moins que vosn
est extrêmement faible.0 votes
Pourquoi pas ?
$array[$key] === null
?0 votes
@Pacerier La clé peut être définie et réglée sur
null
donc je suppose que c'est un contrôle différent.