Rumah >pembangunan bahagian belakang >tutorial php >Cara Menentukan Kewujudan Elemen dalam Tatasusunan untuk Mengelakkan Ralat
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>
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>
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>
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>
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!