2010-06-10 38 views
3

多维数组我有一个“简单”的多维数组,看起来像这样:排序在PHP

array(3) { 
    ["user 1"]=> 
    array(4) { 
    [0]=> 
    array(1) { 
     ["item 4"]=> 
     string(5) "11385" 
    } 
    [1]=> 
    array(1) { 
     ["item 2"]=> 
     string(6) "144268" 
    } 
    [2]=> 
    array(1) { 
     ["item 1"]=> 
     string(5) "65774" 
    } 
    [3]=> 
    array(1) { 
     ["item 9"]=> 
     string(5) "98523" 
    } 
    } 
    ["user 5"]=> 
    array(1) { 
    [0]=> 
    array(1) { 
     ["item 8"]=> 
     string(6) "239233" 
    } 
    } 
    ["user 2"]=> 
    array(2) { 
    [0]=> 
    array(1) { 
     ["item 4"]=> 
     string(5) "53718" 
    } 
    [1]=> 
    array(1) { 
     ["item 1"]=> 
     string(6) "154687" 
    } 
    } 
} 

我需要做的就是那种我阵列的第一用户,然后由项目。上升。我怎么能这样做?如果需要,我会提供一些代码:)

谢谢!

回答

5

ksort通过各种关键

$newArray = array(); 

# start by sorting users 
$yourArray = ksort($yourArray); 

# then sort sub items 
foreach($yourArray as $user=>$theirItems) { 
    $theirItems = ksort($theirItems); # assuming you still want to sort by key; 
    $newArray[$user] = $theirItems; 
} 

var_dump($newArray); 
1

使用usort()然后创建两个比较函数,并一个接一个地对它们进行排序。