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;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值