array_key_exists

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

array_key_exists检查数组里是否有指定的键名或索引

说明

array_key_exists(mixed $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);

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

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

注释

注意:

由于为了兼容以前版本,如果 object 当做 array 传入 array_key_exists(),同时 key 是对象的属性,也会返回 true。 不要依赖这个特性,保证参数 array 类型是数组(array)。

要检查对象是否有某个属性,应该去用 property_exists()

参见