檢查陣列里是否有指定的鍵名或索引

array_key_exists

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

array_key_exists檢查陣列里是否有指定的鍵名或索引

說明

array_key_exists(string|int $key, array $array): bool

陣列里有鍵 key 時,array_key_exists() 返回 truekey 可以是任何能作為陣列索引的值。

參數

key

要檢查的鍵。

array

一個陣列,包含待檢查的鍵。

返回值

成功時返回 true, 或者在失敗時返回 false

注意:

array_key_exists() 僅僅搜索第一維的鍵。 多維陣列里巢狀的鍵不會被搜索到。

範例

示例 #1 array_key_exists() 例子

<?php
$search_array 
= array('first' => 1'second' => 4);
if (
array_key_exists('first'$search_array)) {
    echo 
"The 'first' element is in the array";
}
?>

示例 #2 array_key_exists()isset() 的對比

isset() 對於陣列中為 null 的值不會返回 true,而 array_key_exists() 會。

<?php
$search_array 
= array('first' => null'second' => 4);

// 返回 false
isset($search_array['first']);

// 返回 true
array_key_exists('first'$search_array);
?>

註釋

注意:

由於爲了相容以前版本,如果 object 當做 array 傳入 array_key_exists(),同時 key 是對象的屬性,也會返回 true。 此行為在 PHP 7.4.0 棄用且在 PHP 8.0.0 移除。

要檢查對象是否有某個屬性,應該使用 property_exists()

參見

  • isset() - 檢測變數是否已聲明並且其值不為 null
  • array_keys() - 返回陣列中部分的或所有的鍵名
  • in_array() - 檢查陣列中是否存在某個值
  • property_exists() - 檢查對像或類是否具有該屬性

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *