光看标题可能不能明白什么意思,具体还是要看例子 大白话就是我有一个数组$arr里面的name字段相同,因此我想将除name字段以外的字段合并到一个数组里进行汇总
$arr = [
[
'name' => '中国',
'zd1' => '江苏',
'zd2' => '南京'
],
[
'name' => '中国',
'zd1' => '内蒙古',
'zd2' => '呼和浩特'
],
[
'name' => '小说榜',
'zd1' => '每日',
'zd2' => '坏蛋是怎样炼成的'
],
[
'name' => '小说榜',
'zd1' => '每月',
'zd2' => '黑道学生'
]
];
$temp = array();
$result = array();
foreach ($arr as $item) {
if (!in_array($item['name'], $temp)) {
array_push($temp, $item['name']);
$result[count($temp) - 1]['name'] = $item['name'];
}
$result[count($temp) - 1]['list'][] = [
'zd1' => $item['zd1'],
'zd2' => $item['zd2']
];
}
dump($result);
合并后
|