Maison > Questions et réponses > le corps du texte
Considérez ces deux exemples...
$key = 'jim'; // example 1 if (isset($array[$key])) { // ... } // example 2 if (array_key_exists($key, $array)) { // ... }
Je serais intéressé de savoir si ces deux-là sont meilleurs. J'ai utilisé le premier exemple, mais j'ai vu beaucoup de personnes sur ce site utiliser le deuxième exemple.
Alors, lequel est le meilleur ? dépêche-toi? Une intention plus claire ?
P粉9696666702023-10-17 00:59:09
Si certains des tests que j'ai récemment effectués vous intéressent :
https://stackoverflow.com/a/21759158/520857
Résumé :
| Method Name | Run time | Difference ========================================================================================= | NonExistant::noCheckingTest() | 0.86004090309143 | +18491.315775911% | NonExistant::emptyTest() | 0.0046701431274414 | +0.95346080503016% | NonExistant::isnullTest() | 0.88424181938171 | +19014.461681183% | NonExistant::issetTest() | 0.0046260356903076 | Fastest | NonExistant::arrayKeyExistsTest() | 1.9001779556274 | +209.73055713%
P粉7138664252023-10-17 00:41:48
isset()
速度更快,但与 array_key_exists()
Différent.
array_key_exists()
纯粹检查键是否存在,即使值为 NULL
.
Étant donné
Si la clé existe et que la valeur est NULL
,isset()
将返回 false
.