<?php
$arr=Array(Array("segments" => Array(1=>"Gcia de Auditoría Interna",0 => "Auditoria Interna 1"),"groups" => Array("estados" => "sp","cidade" => "sumpaulo")), Array("segments" => Array(2 => "Gerencia Recursos Humanos",1 => "Gcia Dpto Admin de Pers. y Rel. Laboral",0 => "SubGcia Administración de Personal"),"groups" => Array("estados" => "sp","cidade" => "")), Array("segments" => Array(2 => "Gerencia Recursos Humanos",1 => "Gcia Dpto Admin de Pers. y Rel. Laboral",0 => "SubGcia Administración de Personal"),"groups" => Array("estados" => "sp","cidade" => "")));
usort($arr,function($a,$b){
return strcmp(json_encode($a),json_encode($b));
});
$rst=array();
$cache=array();
while($p=array_shift($arr))
{
if(empty($cache))
{
$cache[]=$p;
}
elseif($cache[0]==$p)
{
$cache[]=$p;
}
else
{
$rst[]=array_merge($cache[0],array("total"=>count($cache)));
$cache=array();
$cache[]=$p;
}
}
if(!empty($cache))
{
$rst[]=array_merge($cache[0],array("total"=>count($cache)));
}
print_r($rst);
preferences:
40.5 ms | 402 KiB | 5 Q