<?php
$array = json_decode('[
{
"nsr": "000086310",
"type": "3",
"date": "2015-07-18",
"time": "00:06",
"pis": "12138790985"
},
{
"nsr": "000086313",
"type": "3",
"date": "2015-07-18",
"time": "00:33",
"pis": "16073736879"
},
{
"nsr": "000086316",
"type": "3",
"date": "2015-07-18",
"time": "00:58",
"pis": "16634402451"
},
{
"nsr": "000086316",
"type": "3",
"date": "2015-07-19",
"time": "00:58",
"pis": "98127981729"
},
{
"nsr": "000086316",
"type": "3",
"date": "2015-07-19",
"time": "00:58",
"pis": "12398712938"
}
]', true);
$result = [];
foreach ($array as ['date' => $d, 'pis' => $p]) {
if (!isset($ref[$d])) {
$ref[$d] = ['date' => $d];
$result[] =& $ref[$d];
}
$ref[$d]['pis'][] = $p;
}
var_export($result);
preferences:
29 ms | 405 KiB | 5 Q