本文帮助一些刚接触php不太会数组处理的新人们快速的合并数组,
经常发现处理数组时,取出一大条单独的数据,但是但是展示的时候却需要展示在一行内,今天就带了可以直接合并相同数据为一条的(比如有十条数据中除了爱好不同其他都相同,下面方法能把爱好数据集中在一行,把十条数据整合为一条)
public function merge($result,$id,$code)
{
//声明空数组
$a=[];
//排除传递过来的参数
$b=array_keys($result[0]);
$key=array_search($id,$b);
array_splice($b,$key,1);
$key=array_search($code,$b);
array_splice($b,$key,1);
foreach ($result as $k => $v) {
if(!array_key_exists($v[$id],$a)){
$a[$v[$id]] = [];
}
if(!array_key_exists($code,$a[$v[$id]])){
$a[$v[$id]][$code] = '';
}
$a[$v[$id]][$code]=$a[$v[$id]][$code].' '.$v[$code];
$a[$v[$id]][$id]=$v[$id];
for ($i=0; $i < count($b); $i++) {
$a[$v[$id]][$b[$i]]=$v[$b[$i]];
}
}
return $a;
}