业务需求:
给定一个二维数组,根据二维数组中的某个特定的键,将具有相同值的进行分组,返回三维数组,例如以下代码,根据userId将值相同的元素分组
代码:
$lists = [
[
'userId' => 2,
'review' => 6
],
[
'userId' => 3,
'review' => 5
],
[
'userId' => 5,
'review' => 8
],
[
'userId' => 2,
'review' => 4
],
[
'userId' => 5,
'review' => 9
],
[
'userId' => 2,
'review' => 1
],
[
'userId' => 2,
'review' => 7
],
];
$group = [];
foreach ($lists as $value) {
$group[$value['userId']][] = $value;
}执行结果:
[
2 => [
[
'userId' => 2,
'review' =>6
],
[
'userId' => 2,
'review' =>4
],
[
'userId' => 2,
'review' =>1
],
[
'userId' => 2,
'review' =>7
],
],
3 => [
[
'userId' => 3,
'review' =>5
]
],
5 => [
[
'userId' => 5,
'review' =>8
],
[
'userId' => 5,
'review' =>9
]
]
];