suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Was ist eine schnellere und effizientere Möglichkeit, zu überprüfen, ob ein Schlüssel in einem PHP-Array vorhanden ist?

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粉512363233P粉512363233424 Tage vor558

Antworte allen(2)Ich werde antworten

  • 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%

    Antwort
    0
  • P粉713866425

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

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

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

    鉴于 如果键存在且值为 NULLisset() 将返回 false

    Antwort
    0
  • StornierenAntwort