2 D配列のキー値を同じにする配列の再編成
2604 ワード
Array
(
[0] => Array
(
[title] => 111
[name] =>
)
[1] => Array
(
[title] => 111
[name] =>
)
[2] => Array
(
[title] => dd
[name] =>
)
[3] => Array
(
[title] => dd
[name] =>
)
[4] => Array
(
[title] => dd
[name] =>
)
)
titleと同様に、配列を再結合するには:
Array
(
[0] => Array
(
[title] => 111
[name] => ,
)
[1] => Array
(
[title] => dd
[name] => , ,
)
)
実装コード:
function array_group_concat($ar, $field, $group_by) {
$res = array(); foreach($ar as $row) { $g = $row[$group_by]; if(isset($res[$g])) $res[$g][$field] .= ',' . $row[$field]; else $res[$g] = $row; } return array_values($res); } $arr=array(array('title'=>'111','name'=>'上海'),array('title'=>'111','name'=>'杭州'),array('title'=>'dd','name'=>'上海'),array('title'=>'dd','name'=>'寧波'),array('title'=>'dd','name'=>'無錫');print_r(array_group_concat($arr, 'name', 'title'));