PHP数组的键名不可以重复。在PHP中,数组的键名(key)是唯一的、是不会重复存在的,即使声明两个一样的键名,后一个声明的键名也会覆盖前一个键名;利用这一特性,可以使用array_flip()反转两次数组的键名和键值,实现数组去重效果。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
PHP数组的键名不可以重复。
在PHP中,数组的键名(key)是唯一的、是不会重复存在的。
示例:有这么一个空数组
$arr = array();//定义一个空数组 var_dump($arr);//输出数组
声明键值对
//定义键值对元素 $arr[id]=1; $arr[name]=李华; $arr[age]=20; var_dump($arr);//输出数组
声明重复键名,并赋值
//声明重复键名,并赋值 $arr[id]=10; $arr[age]=23; var_dump($arr);//输出数组
可以看出,即使声明两个一样的键名,后一个声明的键名也会覆盖前一个键名。
扩展知识:利用PHP数组键名不可重复的特性,可以去除数组重复值。
只需要使用array_flip($array)函数反转两次数组的键名和键值即可:
先将键名和键值互换来移除重复值
然后在重新将键名和键值调换回来
<?PHP header('content-type:text/html;charset=utf-8'); $arr = array(a => 1, b => 1, c => 2); var_dump($arr); $farr=array_flip($arr); var_dump($farr); var_dump(array_flip($farr)); ?>
推荐学习:《PHP教程》