Heim > Fragen und Antworten > Hauptteil
Betrachten Sie diese beiden Beispiele...
$key = 'jim'; // example 1 if (isset($array[$key])) { // ... } // example 2 if (array_key_exists($key, $array)) { // ... }
Mich würde interessieren, ob diese beiden besser sind. Ich habe das erste Beispiel verwendet, aber ich habe viele Leute auf dieser Website gesehen, die das zweite Beispiel verwendet haben.
Also, welches ist besser? Beeil dich? Klarere Absicht?
P粉9696666702023-10-17 00:59:09
如果您对我最近完成的一些测试感兴趣:
https://stackoverflow.com/a/21759158/520857
摘要:
| 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()
不同。
array_key_exists()
纯粹检查键是否存在,即使值为 NULL
。
鉴于
如果键存在且值为 NULL
,isset()
将返回 false
。