Triagem Mulitdemensional Array PHP

Eu tenho a seguinte matriz, atualmente é criado classificado por entity_count (emitido por uma consulta feita no cakephp – Eu só queria as principais entidades), eu quero agora classificar a matriz para o Entity-> title.

Eu tentei fazer isso com array_multisort mas falhou. Isso é possível?

 Array ( [0] => Array ( [Entity] => Array ( [title] => Orange ) [0] => Array ( [entitycount] => 76 ) ) [1] => Array ( [Entity] => Array ( [title] => Apple ) [0] => Array ( [entitycount] => 78 ) ) [2] => Array ( [Entity] => Array ( [title] => Lemon ) [0] => Array ( [entitycount] => 85 ) ) ) 

Crie uma function de retorno de chamada assim:

 function callback($value) { return isset($value['entity']['title']) ? $value['entity']['title'] : null; } 

Em seguida, execute-o thew um array_map e vários tipos

 array_multisort(array_map($myArray,'callback'), $myArray); 

Tente isso:

 $keys = array_map($arr, function($val) { return $val['Entity']['title']; }); array_multisort($keys, $arr); 

Aqui array_map e uma function anônima (disponível desde PHP 5.3, você pode usar create_function em versões anteriores) é usado para obter uma matriz dos títulos que são usados ​​para classificar a matriz de acordo com seus títulos.

Você precisa escrever uma function de comparação personalizada e usar usort . Ligue usando:

 usort ( $arrayy , callback $cmp_function );