<?php
$array = array(
array('relatedOrderNumber' => 10641, 'relationtype' => 1007),
array('relatedOrderNumber' => 82010, 'relationtype' => 1007),
array('relatedOrderNumber' => 82020, 'relationtype' => 1007),
array('relatedOrderNumber' => 82040, 'relationtype' => 1007),
array('relatedOrderNumber' => 82040, 'relationtype' => 1013)
);
$new = array_reduce(
$array,
function($carry, $item) {
$type = $item['relationtype'];
$orderNumber = $item['relatedOrderNumber'];
if (!isset($carry[$type])) {
$carry[$type] = [orderNumber];
} else {
$carry[$type][] = orderNumber;
}
},
array()
);
var_dump($new);
preferences:
50.62 ms | 402 KiB | 5 Q