Мне нужно объединить данные строк моего двухмерного массива, где строки имеют одно и то же значение messageID.
$myarray = [
[
'messageId' => '5ACE9D8841',
'sender' => '[email protected]'
],
[
'messageId' => '7EE67D8170',
'sender' => '[email protected]'
],
[
'messageId' => '8095FD8836',
'sender' => '[email protected]'
],
[
'messageId' => '7EE67D8170',
'dest' => '[email protected]',
'status' => 'sent',
'date' => '2021-02-01 11:06:55'
]
];
Из примера данных строки [1] и [3] объединяются в [1], поскольку они имеют один и тот же [messageId]. Ожидаемый результат:
Array
(
[0] => Array
(
[messageId] => 5ACE9D8841
[sender] => [email protected]
)
[1] => Array
(
[messageId] => 7EE67D8170
[dest] => [email protected]
[status] => sent
[date] => 2021-02-01 11:06:55
[sender] => [email protected]
)
[2] => Array
(
[messageId] => 8095FD8836
[sender] => [email protected]
)
)
Я не возражаю против индекса ключа или порядка.
EDIT: я пробовал array_merge, array_merge_recursive и многие другие. Наилучший результат был получен при использовании
$result_arr = array();
foreach ($myarray as $sub_arr) {
$result_arr = array_merge($result_arr, $sub_arr);
$result_arr = array_unique($result_arr);
}
Он работает, но возвращает только последнюю итерацию:
Array (
[messageId] => 7EE67D8170
[dest] => [email protected]
[status] => sent
[date] => 2021-02-01 11:06:55
[sender] => [email protected]
)
Подробнее здесь: https://stackoverflow.com/questions/660 ... lumn-value
Объединение данных ассоциативной строки в двумерный массив на основе значения столбца ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Что означают [], @ и {} в контексте этой ассоциативной декларации массива?
Anonymous » » в форуме Php - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-