確定數組元素是否存在
檢查數組中是否存在元素時,您描述的方法可能會導致 undefined索引錯誤。若要有效解決此問題,您可以使用 isset 建構或 array_key_exists 函數。
使用 isset
isset 是速度最佳化的首選選項。它檢查元素是否存在,無論其值如何。但是,對於已明確設定為 NULL 的元素,它會傳回 false。
使用 array_key_exists
array_key_exists 決定數組中是否存在特定鍵。與 isset 不同,它不考慮與鍵關聯的值。
範例:
考慮以下陣列:
<code class="php">$a = array( 123 => 'glop', 456 => null, );</code>
使用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>
使用isset 測試:
<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>
使用array_key_exists 進行測試:
<code class="php">if (!isset(self::$instances[$instanceKey])) { $instances[$instanceKey] = $theInstance; }</code>
以上是如何確定數組中元素是否存在以避免錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!