Группируйте строки многомерного массива по одному столбцу и создавайте глубокие подмассивы в другом столбце, если в груп ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Группируйте строки многомерного массива по одному столбцу и создавайте глубокие подмассивы в другом столбце, если в груп

Сообщение Anonymous »

Я хочу объединить данные в многомерный массив, сгруппировав их по столбцу электронной почты. Если значение email встречается только один раз, я не хочу изменять структуру подмассива мета. Однако если значение электронной почты встречается более одного раза, я хочу углубить структуру продукта, создав индексированный массив данных о продукте.
Ввод:
$array = [
[
'email' => 'test@gmail.com',
'meta' => [
'product' => ['id' => '1', 'content' => 'This is content']
]
],
[
'email' => 'test2@gmail.com',
'meta' => [
'product' => ['id' => '2', 'content' => 'This is content']
]
],
[
'email' => 'test2@gmail.com',
'meta' => [
'product' => ['id' => '3', 'content' => 'This is content']
]
]
];

Желаемый результат:
[0] {
'email' => 'test@gmail.com',
'meta' => {
'product' => {
'id' => '1',
'content' => 'This is content'
}
}
}
[1] {
'email' => 'test2@gmail.com',
'meta' => {
'product' => [0] {
'id' => '2',
'content' => 'This is content'
}
[1] {
'id' => '3',
'content' => 'This is content'
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/349 ... ubarrays-i

Вернуться в «Php»