介绍
如何去除php多维数组重复值?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
php去除重复值的方法:首先判断是否保留一级和二级数组键,然后将一维数组转换为用逗号连接的字符串,接着通过“array_unique”函数去掉重复的字符串;最后将拆开的数组重新组装即可。
引用><强> php去除重复的数组数据强>
& lt; php ? $=输入数组(“a"=比;“green",““,“red",“b"=比;“green",““,“blue",“red",“c"=比;“witer",“hello",“witer");//结果=array_unique美元($输入);//去除重复元素 (结果=a_array_unique美元输入);//只留下单一元素 foreach(结果aa)美元 { 回声aa美元霸主地位;& lt; br/在“; } 函数multi_unique(数组){ foreach(数组$ k=祝辞na美元) 新的美元($ k)=序列化(na美元); (uniq=array_unique美元新); foreach (uniq k=祝辞美元美元ser) 美元($ k)=不丹unserialize (ser); 返回(不丹美元); } 函数a_array_unique(数组)美元//写的比较好 { 美元=array (); foreach(数组作为关键美元=祝辞美元值){ 如果(!in_array(美元的价值,美元)) { 美元($ key)=$价值; } } 返回$; } ?在PHP数组去除重复项有个内置函数array_unique(),但是PHP的array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组的array_unique函数
函数unique_arr (array2D, stkeep=false,美元$ ndformat=true) {//判断是否保留一级数组键(一级数组键可以为非数字) 如果(stkeep美元)斯塔尔=中的美元($ array2D);//判断是否保留二级数组键(所有二级数组键必须相同) 如果(ndformat美元)ndArr=美元中的(结束(array2D美元));//降维,也可以用内爆,将一维数组转换为用逗号连接的字符串 foreach (array2D美元美元v) { v=加入美元(“、“v美元); 临时[]=v美元; }//去掉重复的字符串,也就是重复的一维数组 (temp=array_unique美元temp);//再将拆开的数组重新组装 foreach(临时为k=美元比;美元v) { 如果(stkeep美元)k=斯塔尔美元($ k); 如果(ndformat美元) { $ tempArr=爆炸(“、“v美元); foreach ($ tempArr ndkey美元=比;ndval)输出美元[$ k] [ndArr美元[ndkey美元]]=$ ndval; } 其他输出美元($ k)=爆炸(“、“v美元); } 返回输出美元; }演示:
$ array2D=数组(& # 39;第一个# 39;=祝辞数组(& # 39;标题# 39;=祝辞& # 39;1111 & # 39;,& # 39;日期# 39;=祝辞& # 39;2222 & # 39;),& # 39;第二# 39;=祝辞数组(& # 39;标题# 39;=祝辞& # 39;1111 & # 39;,& # 39;日期# 39;=祝辞& # 39;2222 & # 39;),& # 39;第三,=在数组(& # 39;标题# 39;=祝辞& # 39;2222 & # 39;,& # 39;日期# 39;=祝辞& # 39;3333 & # 39;)); print_r ($ array2D); print_r (unique_arr (array2D美元,真的));看完上述内容,你们掌握如何去除php多维数组重复值的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
如何去除php多维数组重复值