在PHP中,判断数组是否包含特定键名有几种方法:
1. 使用 array_key_exists() 函数(推荐)
$zzw_array = [
'title' => '文章标题',
'featured_image' => 'image.jpg',
'content' => '内容'
];
if (array_key_exists('featured_image', $zzw_array)) {
echo "存在 featured_image 键";
} else {
echo "不存在 featured_image 键";
}2. 使用 isset() 函数
if (isset($array['featured_image'])) {
echo "存在 featured_image 键";
} else {
echo "不存在 featured_image 键";
}3. 使用 key_exists() 函数(array_key_exists() 的别名)
if (key_exists('featured_image', $zzw_array)) {
echo "存在 featured_image 键";
}主要区别
- array_key_exists():严格检查键名是否存在,即使值为
null也会返回true - isset():检查键名是否存在且值不为
null
示例对比:
$zzw_array = [
'featured_image' => null,
'title' => '测试'
];
var_dump(array_key_exists('featured_image', $zzw_array)); // true
var_dump(isset($array['featured_image'])); // false对于多维数组:
$zzw_multiArray = [
'post' => [
'featured_image' => 'image.jpg',
'title' => '标题'
]
];
if (array_key_exists('featured_image', $zzw_multiArray['post'])) {
echo "存在 featured_image 键";
}推荐使用 array_key_exists(),因为它能准确判断键名是否存在,不受值内容的影响。

