cari

Rumah  >  Soal Jawab  >  teks badan

Apakah cara yang lebih pantas dan lebih cekap untuk menyemak sama ada kunci wujud dalam tatasusunan PHP?

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粉512363233P粉512363233424 hari yang lalu561

membalas semua(2)saya akan balas

  • P粉969666670

    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%

    balas
    0
  • P粉713866425

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

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

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

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

    balas
    0
  • Batalbalas