php数组的键名不可以重复。在php中,数组的键名(key)是唯一的、是不会重复存在的,即使声明两个一样的键名,后一个声明的键名也会覆盖前一个键名;利用这一特性,可以使用array_flip()反转两次数组的键名和键值,实现数组去重效果。
本教程操作环境:windows7系统、PHP7.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视频教程》