首頁  >  文章  >  後端開發  >  哪個 PHP 建構比較適合驗證陣列元素是否存在:isset 或 array_key_exists?

哪個 PHP 建構比較適合驗證陣列元素是否存在:isset 或 array_key_exists?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-19 06:22:02446瀏覽

Which PHP Construct Is Better for Verifying Array Element Existence: isset or array_key_exists?

使用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>
在您的特定範例中,您可以使用 isset 修改程式碼如下:

以上是哪個 PHP 建構比較適合驗證陣列元素是否存在:isset 或 array_key_exists?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn