Rumah > pembangunan bahagian belakang > tutorial php > Konstruk PHP Mana Yang Lebih Baik untuk Mengesahkan Kewujudan Elemen Array: isset atau array_key_exists?

Konstruk PHP Mana Yang Lebih Baik untuk Mengesahkan Kewujudan Elemen Array: isset atau array_key_exists?

Mary-Kate Olsen
Lepaskan: 2024-10-19 06:22:02
asal
622 orang telah melayarinya

Which PHP Construct Is Better for Verifying Array Element Existence: isset or 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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan