PHP多维数组的值进行合并

2025-04-19 19:30:45
推荐回答(4个)
回答1:

这个没有现成的函数可以用 只能写代码做了
$arrResult = array();
foreach ($arr as $oneItem) {
$arr[$oneItem['uid']] = array('uid' => $oneItem['uid'], 'name' => (array_key_exists('name', $arr[$oneItem['uid']]) && $arr[$oneItem['uid']]['name'] != '') ? $oneItem['uid']]['name'] . ',' . $oneItem['name'] : $oneItem['name']);
}
$arr = array();
foreach ($arrResult as $oneUid) {
$arr[] = $oneUid;
}
$arr是你原来的数组变量 最后得到$arr是结果

回答2:

$array=array(
array("uid" =>1,"name" => "aaaa"),
array("uid" =>2,"name" => "xxxx"),
array("uid" =>2,"name" => "aaaa"),
array("uid" =>1,"name" => "bbb"),
array("uid" =>1,"name" => "ccc"),
array("uid" =>1,"name" => "sss"),
array("uid" =>2,"name" => "aaasa"),
array("uid" =>2,"name" => "aasaasa"),
array("uid" =>2,"name" => "asasaa"),
array("uid" =>2,"name" => "asaaas"),
array("uid" =>2,"name" => "aasaas")
);
foreach($array as $key=>$row){
foreach($array as $kee=>$rws){
if($kee > $key){
if($row['uid'] == $rws['uid']){
$row['name'] = $row['name'].','.$rws['name'];
unset($array[$kee]);
}
$array[$key]['name']=$row['name'];
}
}
}

回答3:

for($i = 0; $i < count($array); $i++){
for($j = $i+1; $j if(isset($array[$j]) && $array[$i]['uid'] == $array[$j]['uid']){
$array[$i]['name'] .= $array[$j]['name'];
unset($array[$j]);

}

}
$new_array[] = $array[$i];

}

print_r($new_array);

回答4:

foreach($array as $each){
$tmparr[$each['uid']][] = $each['name'];
}

foreach($tmparr as $n=>$each){
$resultarr[$n-1]['uid'] = $n;
$resultarr[$n-1]['name'] = implode(",",$each);
}
print_r($resultarr);