array_key_exists
检查数组里是否有指定的键名或索引
&reftitle.description;
boolarray_key_exists
stringintkey
arrayarray
数组里有键 key 时,array_key_exists 返回 &true;。
key
可以是任何能作为数组索引的值。
&reftitle.parameters;
key
要检查的键。
array
一个数组,包含待检查的键。
&reftitle.returnvalues;
&return.success;
array_key_exists 仅仅搜索第一维的键。
多维数组里嵌套的键不会被搜索到。
&reftitle.examples;
array_key_exists 例子
1, 'second' => 4);
if (array_key_exists('first', $search_array)) {
echo "The 'first' element is in the array";
}
?>
]]>
array_key_exists 与 isset 的对比
isset 对于数组中为 &null;
的值不会返回 &true;,而
array_key_exists 会。
null, 'second' => 4);
// 返回 false
isset($search_array['first']);
// 返回 true
array_key_exists('first', $search_array);
?>
]]>
&reftitle.notes;
由于为了兼容以前版本,如果 object 当做 array 传入
array_key_exists,同时 key 是对象的属性,也会返回 &true;。
此行为在 PHP 7.4.0 弃用且在 PHP 8.0.0 移除。
要检查对象是否有某个属性,应该使用 property_exists。
&reftitle.seealso;
isset
array_keys
in_array
property_exists