i have array in type of (UNSORTED VERSION):
<?php
$arr['foo']['man'] = 5 ;
$arr['foo']['str'] = 'string5' ;
$arr['foobar']['man'] = 2 ;
$arr['foobar']['str'] = 'string2' ;
$arr['barfoo']['man'] = 4 ;
$arr['barfoo']['str'] = 'string4' ;
$arr['foofoo']['man'] = 1 ;
$arr['foofoo']['str'] = 'string1' ;
$arr['bar']['man'] = 3 ;
$arr['bar']['str'] = 'string3' ;
?>
i want to sort it in decending order while preserving all other data in that array, i.e.
<?php
$arr['foo']['man'] = 5 ;
$arr['foo']['str'] = 'string5' ;
$arr['barfoo']['man'] = 4 ;
$arr['barfoo']['str'] = 'string4' ;
$arr['bar']['man'] = 3 ;
$arr['bar']['str'] = 'string3' ;
$arr['foobar']['man'] = 2 ;
$arr['foobar']['str'] = 'string2' ;
$arr['foofoo']['man'] = 1 ;
$arr['foofoo']['str'] = 'string1' ;
?>
i have looked at many sorting functions in PHP but havent found any solutions
can anybody help me? thanks in advance.
Use this function:
uasort($yourArray, function($a, $b) {
return strcmp($a['man'], $b['man']);
});
Or look at array_multisort