<?php
$source=json_decode('[{"title":"games","transaction_id":102,"order_id":"a"},{"title":"media","transaction_id":95,"order_id":"b"},{"title":"tv","transaction_id":102,"order_id":"a"},{"title":"jane","transaction_id":42,"order_id":"a"},{"title":"ads","transaction_id":95,"order_id":"b"},{"title":"movie","transaction_id":95,"order_id":"c"}]',true);
function merge(array $source)
{
$result=array();
foreach($source as $node)
{
$key=$node["transaction_id"]."_".$node["order_id"];
if(!empty($result[$key])) $result[$key][]=$node["title"];
else $result[$key]=array($node["title"]);
}
return array_values($result);
}
print_r($source);//Just for debug
print_r(merge($source));
preferences:
56.21 ms | 402 KiB | 5 Q