3v4l.org

run code in 300+ PHP versions simultaneously
<?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