发布于 5年前
PHP数组如何根据键值来分割成新数组?
原数组:
$arr = [
[
'type_id' => 1,
'name' => '苹果'
],
[
'type_id' => 1,
'name' => '香蕉'
],
[
'type_id' => 2,
'name' => '黄瓜'
],
[
'type_id' => 2,
'name' => '白菜'
]
];
现在我需要根据type_id
的值进行数组分割。分割成:
[
[
'type_id' => 1,
'name' => '苹果'
],
[
'type_id' => 1,
'name' => '香蕉'
]
],
[
[
'type_id' => 2,
'name' => '黄瓜'
],
[
'type_id' => 2,
'name' => '白菜'
]
]
解决方案:
$list = [];
foreach($arr as $v)
{
$list[$v['type_id']][] = $v;
}
$list = array_values($list);
print_r($list);