Rumah >pembangunan bahagian belakang >tutorial php >Konstruk PHP Mana Yang Lebih Baik untuk Mengesahkan Kewujudan Elemen Array: isset atau array_key_exists?
Menggunakan isset atau array_key_exists untuk Mengesahkan Kewujudan Elemen Tatasusunan
Apabila ingin memastikan kehadiran elemen tatasusunan, anda boleh menggunakan sama ada isset binaan bahasa atau fungsi array_key_exists.
isset
Pendekatan ini berpotensi lebih cekap kerana ia bukan fungsi. Walau bagaimanapun, ia mungkin kembali palsu jika elemen wujud tetapi mempunyai nilai NULL.
Pertimbangkan tatasusunan berikut:
<code class="php">$a = array( 123 => 'glop', 456 => null, );</code>
Menggunakan isset untuk menguji kewujudan elemen:
<code class="php">var_dump(isset($a[123])); // true var_dump(isset($a[456])); // false var_dump(isset($a[789])); // false</code>
array_key_exists
Sebaliknya, array_key_exists menilai semata-mata kehadiran kunci, tanpa mengira nilainya.
Menggunakan array_key_exists dengan tatasusunan yang sama:
<code class="php">var_dump(array_key_exists(123, $a)); // true var_dump(array_key_exists(456, $a)); // true var_dump(array_key_exists(789, $a)); // false</code>
Memilih Pendekatan yang Tepat
Untuk senario di mana elemen dijamin mempunyai nilai bukan NULL, isset mungkin lebih baik kerana kecekapannya. Jika tidak, array_key_exists mungkin lebih sesuai.
Dalam contoh khusus anda, anda boleh mengubah suai kod anda seperti berikut menggunakan isset:
<code class="php">if (!isset(self::$instances[$instanceKey])) { $instances[$instanceKey] = $theInstance; }</code>
Atas ialah kandungan terperinci Konstruk PHP Mana Yang Lebih Baik untuk Mengesahkan Kewujudan Elemen Array: isset atau array_key_exists?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!