2010-06-10 74 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()然後創建兩個比較函數,並一個接一個地對它們進行排序。