Apakah cara yang lebih pantas dan lebih cekap untuk menyemak sama ada kunci wujud dalam tatasusunan PHP?
P粉512363233
P粉512363233 2023-10-16 08:55:37
0
2
539

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粉512363233
P粉512363233

membalas semua(2)
P粉969666670

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粉713866425

isset() 速度更快,但与 array_key_exists() Berbeza.

array_key_exists() 纯粹检查键是否存在,即使值为 NULL.

Diberikan Jika kunci wujud dan nilainya ialah NULLisset() 将返回 false.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan