檢查 PHP 數組中是否存在某個鍵的更快、更有效的方法是什麼?
P粉512363233
P粉512363233 2023-10-16 08:55:37
0
2
576

考慮這兩個例子...

$key = 'jim';

// example 1
if (isset($array[$key])) {
    // ...
}

// example 2    
if (array_key_exists($key, $array)) {
    // ...
}

我有興趣知道這兩者是否更好。我一直使用第一個範例,但在本網站上看到很多人使用第二個範例。

那麼,哪個比較好呢?快點?意圖更明確?

P粉512363233
P粉512363233

全部回覆(2)
P粉969666670

如果您對我最近完成的一些測試感興趣:

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

isset() 速度更快,但與 array_key_exists() 不同。

array_key_exists() 純粹檢查鍵是否存在,即使值為 NULL

鑑於 如果鍵存在且值為 NULLisset() 將傳回 false

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板