У меня есть этот массив объектов:
[{'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'];
}
$data[]
на $data->
и это сработало. Спасибо Спасибо!