PHP:排序多维数组($ arr [$ i] ['v'])

时间:2012-07-21 13:38:58

标签: php multidimensional-array sorting

我的数据类型为(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' ;
?>

我希望按照降序对其进行排序,同时保留该数组中的所有其他数据,即

<?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' ;
?>

我已经在PHP中查看了许多排序函数,但还没有找到任何解决方案

任何人都可以帮助我吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

使用此功能:

uasort($yourArray, function($a, $b) {
    return strcmp($a['man'], $b['man']);
});

或者查看array_multisort