Rumah > Soal Jawab > teks badan
Pertimbangkan dua contoh ini...
$key = 'jim'; // example 1 if (isset($array[$key])) { // ... } // example 2 if (array_key_exists($key, $array)) { // ... }
Saya berminat untuk mengetahui sama ada kedua-dua ini lebih baik. Saya telah menggunakan contoh pertama, tetapi saya telah melihat ramai orang di laman web ini menggunakan contoh kedua.
Jadi, mana satu lebih baik? cepat ke? Niat lebih jelas?
P粉9696666702023-10-17 00:59:09
Jika anda berminat dengan beberapa ujian yang saya selesaikan baru-baru ini:
https://stackoverflow.com/a/21759158/520857
Ringkasan:
| 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()
Berbeza.
array_key_exists()
纯粹检查键是否存在,即使值为 NULL
.
Diberikan
Jika kunci wujud dan nilainya ialah NULL
,isset()
将返回 false
.