<?php
$myarray = [
[
'messageId' => '5ACE9D8841',
'sender' => 'john@doe.com'
],
[
'messageId' => '7EE67D8170',
'sender' => 'dan@doe.com'
],
[
'messageId' => '8095FD8836',
'sender' => 'cat@doe.com'
],
[
'messageId' => '7EE67D8170',
'dest' => 'mitch@doe.com',
'status' => 'sent',
'date' => '2021-02-01 11:06:55'
]
];
var_export(
array_reduce(
$myarray,
function($result, $row) {
static $ref;
if (!isset($ref[$row['messageId']])) {
$ref[$row['messageId']] = $row;
$result[] = &$ref[$row['messageId']];
} else {
$ref[$row['messageId']] += $row;
}
return $result;
}
)
);
preferences:
40.18 ms | 402 KiB | 5 Q