两种检测方法:1、使用array_key_exists()检测,语法“array_key_exists(指定键,指定数组)”,如果键存在则返回true,如果键不存在则返回false。2、利用“$数组名["指定键"]”语句访问指定数组元素,再利用isset()函数检测该数组元素是否存在,语法“isset($数组名["指定键"])”,如果键存在则返回TRUE,否则返回FALSE。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

php检测指定键名是否存在于指定数组有两种方法:

  • 直接使用array_key_exists()函数

  • 使用isset()函数配合“$指定数组变量名["指定键名"]”语句

方法1:使用array_key_exists()函数

array_key_exists(指定键名,指定数组) 函数可以检测某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。

<?php
header('content-type:text/html;charset=utf-8');   
$arr=array(1=>"1","a"=>"",2=>"2","b"=>0,"c"=>"blue");
var_dump($arr);
if (array_key_exists("a", $arr)) {
	echo "指定键名'a' 存在于指定数组";
} else {
	echo "指定键名'a'不存在于指定数组";
}
?>

1.png

方法2:使用isset()函数配合“数组名["指定键名"]”语句

  • 利用 $指定数组变量名["指定键名"] 访问指定数组元素,

  • 利用isset() 函数检测该数组元素是否存在

    如果存在且不为 NULL,则返回 TRUE,否则返回 FALSE。

<?php
header('content-type:text/html;charset=utf-8');   
$arr=array(1=>"1","a"=>"",2=>"2","b"=>0,"c"=>"blue");
var_dump($arr);
if (isset($arr["d"])) {
	echo "指定键名'd' 存在于指定数组";
} else {
	echo "指定键名'd'不存在于指定数组";
}
?>

2.png

说明:

  • array_key_exists() 函数检查某个数组中是否存在指定的键名

提示:请记住,如果您指定数组的时候省略了键名,将会生成从 0 开始并以 1 递增的整数键名。

array_key_exists(key,array)
参数描述
key必需。规定键名。
array必需。规定数组。

返回值:如果键名存在则返回 TRUE,如果键名不存在则返回 FALSE。

  • isset() 函数用于检测变量是否已设置并且非 NULL。

如果已经使用 unset() 释放了一个变量之后,再通过 isset() 判断将返回 FALSE。

若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。

同时要注意的是 null 字符("\0")并不等同于 PHP 的 NULL 常量。


php怎么检测某键是否存在于某数组