直接上代码:
<?php
$laArray = [
["id"=>11,"name"=>"happy","age"=>"20","moeny"=>100],
["id"=>29,"name"=>"lucy","age"=>"20","moeny"=>100],
["id"=>34,"name"=>"happy","age"=>"20","moeny"=>235],
["id"=>42,"name"=>"happy","age"=>"15","moeny"=>100],
["id"=>51,"name"=>"happy","age"=>"20","moeny"=>600],
["id"=>61,"name"=>"lucy","age"=>"20","moeny"=>350],
["id"=>65,"name"=>"lucy","age"=>"23","moeny"=>150],
];
$tmpArray = [];
foreach ($laArray as $row) {
$key = $row['name'];
if (array_key_exists($key, $tmpArray)) {
if (is_array($tmpArray[$key]['moeny'])) {
$tmpArray[$key]['moeny'][] = $row['moeny'];
} else {
$tmpArray[$key]['moeny'] = [$tmpArray[$key]['moeny'], $row['moeny']];
}
} else {
$tmpArray[$key] = $row;
}
}
print_r($tmpArray);
?>具体代码运行效果如下:
Array
(
[happy] => Array
(
[id] => 11
[name] => happy
[age] => 20
[moeny] => Array
(
[0] => 100
[1] => 235
[2] => 100
[3] => 600
)
)
[lucy] => Array
(
[id] => 29
[name] => lucy
[age] => 20
[moeny] => Array
(
[0] => 100
[1] => 350
[2] => 150
)
)
)这里是将相同的值合并成一个二维数组,如果将[$tmpArray[$key]['moeny'], $row['moeny']]变换成$tmpArray[$key]['moeny'] + $row['moeny'],则会变成相加。