Cara Menentukan Kewujudan Elemen dalam Tatasusunan untuk Mengelakkan Ralat

Linda Hamilton
Lepaskan: 2024-10-19 06:20:02
asal
517 orang telah melayarinya

How to Determine the Existence of Elements in an Array to Avoid Errors

Menentukan Kewujudan Elemen Tatasusunan

Apabila menyemak kehadiran elemen dalam tatasusunan, pendekatan yang anda terangkan boleh membawa kepada tidak ditentukan ralat indeks. Untuk menangani isu ini dengan berkesan, anda boleh menggunakan sama ada binaan isset atau fungsi array_key_exists.

Menggunakan isset

isset ialah pilihan pilihan untuk pengoptimuman kelajuan. Ia menyemak kewujudan unsur, tanpa mengira nilainya. Walau bagaimanapun, ia mengembalikan palsu untuk elemen yang telah ditetapkan secara eksplisit kepada NULL.

Menggunakan array_key_exists

array_key_exists menentukan sama ada kunci tertentu wujud dalam tatasusunan. Tidak seperti isset, ia tidak menganggap nilai yang dikaitkan dengan kunci.

Contoh:

Pertimbangkan tatasusunan berikut:

<code class="php">$a = array(
    123 => 'glop',
    456 => null,
);</code>
Salin selepas log masuk

Uji dengan isset:

<code class="php">var_dump(isset($a[123])); // true (key exists with a non-null value)
var_dump(isset($a[456])); // false (key exists with a null value)
var_dump(isset($a[789])); // false (key does not exist)</code>
Salin selepas log masuk

Uji dengan array_key_exists:

<code class="php">var_dump(array_key_exists(123, $a)); // true (key exists regardless of value)
var_dump(array_key_exists(456, $a)); // true (key exists regardless of value)
var_dump(array_key_exists(789, $a)); // false (key does not exist)</code>
Salin selepas log masuk

Kemas Kini Kod:

Dalam kod anda, anda boleh menggunakan isset untuk menulis semula cek:

<code class="php">if (!isset(self::$instances[$instanceKey])) {
    $instances[$instanceKey] = $theInstance;
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Cara Menentukan Kewujudan Elemen dalam Tatasusunan untuk Mengelakkan Ralat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber: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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!