PHP 二维数组去重 保留键值
正好用到,百度到了一段代码,改了改,不用自己输入第二维数组的索引了.
$data[] = array("volume" => 11, "edition" => 11);
$data[] = array("volume" => 11, "edition" => 11);
$data[] = array("volume" => 85, "edition" => 6);
$data[] = array("volume" => 98, "edition" => 2);
$data[] = array("volume" => 86, "edition" => 6);
$data[] = array("volume" => 67, "edition" => 7);
$data = array_unique_fb($data, array_keys($data[0]));
function array_unique_fb($array2D, $keys){
foreach ($array2D as $k=>$v){
$v=join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
$temp[$k]=$v;
}
$temp=array_unique($temp); //去掉重复的字符串,也就是重复的一维数组
foreach ($temp as $k => $v){
$array=explode(",",$v); //再将拆开的数组重新组装
foreach($keys as $index => $key)
{
echo $k;
$temp2[$k][$key] =$array[$index];
}
}
return $temp2;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 将输入的数组以矩阵形式输出
- 下一篇: C++和JNI的数据转换
