使用isset 或array_key_exists 驗證數組元素是否存在
當尋求確定數組元素是否存在時,您可以使用isset語言構造或array_key_exists函數。
isset
這種方法可能更有效,因為它不是函數。但是,如果元素存在但值為 NULL,則可能傳回 false。
考慮以下陣列:
<code class="php">$a = array( 123 => 'glop', 456 => null, );</code>
使用isset 測試元素是否存在:
<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
array_key_exists
array_key_exists 僅評估鍵是否存在,而不管其值如何。<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>
將array_key_exists 與同一數組一起使用:
選擇正確的方法
對於保證元素具有非issNULL 值的場景,可能由於其效率而更可取。否則, array_key_exists 可能更合適。<code class="php">if (!isset(self::$instances[$instanceKey])) { $instances[$instanceKey] = $theInstance; }</code>
以上是哪個 PHP 建構比較適合驗證陣列元素是否存在:isset 或 array_key_exists?的詳細內容。更多資訊請關注PHP中文網其他相關文章!