搜尋

首頁  >  問答  >  主體

檢查 PHP 數組中是否存在某個鍵的更快、更有效的方法是什麼?

考慮這兩個例子...

$key = 'jim';

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

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

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

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

P粉512363233P粉512363233425 天前566

全部回覆(2)我來回復

  • P粉969666670

    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%

    回覆
    0
  • P粉713866425

    P粉7138664252023-10-17 00:41:48

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

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

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

    回覆
    0
  • 取消回覆