sorting/grouping 多维对象 php
sorting/grouping a multidimensional object php
我有这个对象数组:
[{'id':1, 'name':'name1', 'src':'1'},
{'id':1, 'name':'name1', 'src':'2'},
{'id':2, 'name':'name2', 'src':'1'},
{'id':2, 'name':'name2', 'src':'2'}]
我想按 src 在数组中将它们分组,如下所示:
[{'id':1, 'name':'name1', 'src':['1','2']},
{'id':2, 'name':'name2', 'src':['1','2']}]
请帮助我卡在这个问题上好一阵子了,很抱歉新手问题。
试试这个:
$array = [{'id':1, 'name':'name1', 'src':'1'},
{'id':1, 'name':'name1', 'src':'2'},
{'id':2, 'name':'name2', 'src':'1'},
{'id':2, 'name':'name2', 'src':'2'}];
$new_array = array();
foreach ($array as $data)
{
if ( ! array_key_exists($data['id'], $new_array))
{
$new_array[$data['id']] = array('id' => $data['id'], 'name' => $data['name'], 'src' => array());
}
$new_array[$data['id']]['src'][] = $data['src'];
}
我有这个对象数组:
[{'id':1, 'name':'name1', 'src':'1'},
{'id':1, 'name':'name1', 'src':'2'},
{'id':2, 'name':'name2', 'src':'1'},
{'id':2, 'name':'name2', 'src':'2'}]
我想按 src 在数组中将它们分组,如下所示:
[{'id':1, 'name':'name1', 'src':['1','2']},
{'id':2, 'name':'name2', 'src':['1','2']}]
请帮助我卡在这个问题上好一阵子了,很抱歉新手问题。
试试这个:
$array = [{'id':1, 'name':'name1', 'src':'1'},
{'id':1, 'name':'name1', 'src':'2'},
{'id':2, 'name':'name2', 'src':'1'},
{'id':2, 'name':'name2', 'src':'2'}];
$new_array = array();
foreach ($array as $data)
{
if ( ! array_key_exists($data['id'], $new_array))
{
$new_array[$data['id']] = array('id' => $data['id'], 'name' => $data['name'], 'src' => array());
}
$new_array[$data['id']]['src'][] = $data['src'];
}