php多个数组根据指定键值分组方法:
$array:要分组的数组
$key:根据的键名
function array_group($array,$key)
{
$result = [];
foreach($array as $k=>$v){
$result[$v[$key]][] = $v;
}
return $result;
}
演示数组:
$arr = [
[
'city' => 'beijing',
'name' => '大哥'
],
[
'city' => 'shanghai',
'name' => '二哥'
],
[
'city' => 'guangzhou',
'name' => '三哥'
],
[
'city' => 'beijing',
'name' => '四哥'
]
];
调用方法:
var_dump(array_group($arr,'city'));
输出数组:
array(3) {
["beijing"] => array(2) {
[0] => array(2) {
["city"] => string(7) "beijing"
["name"] => string(6) "大哥"
}
[1] => array(2) {
["city"] => string(7) "beijing"
["name"] => string(6) "四哥"
}
}
["shanghai"] => array(1) {
[0] => array(2) {
["city"] => string(8) "shanghai"
["name"] => string(6) "二哥"
}
}
["guangzhou"] => array(1) {
[0] => array(2) {
["city"] => string(9) "guangzhou"
["name"] => string(6) "三哥"
}
}
}