2010-04-20 94 views
0

我有一個從XML響應轉換的數組。我需要做的是使用「COMPANY」值按字母順序排列數組。如何使用PHP中的第4級值對多維數組進行排序

我試圖使用array_multisort,但我沒有運氣。任何幫助將不勝感激。

這裏是數組:

array(1) { 
    ["DATASOURCE"]=> 
    array(1) { 
    ["MEMBER"]=> 
    array(4) { 
     [0]=> 
     array(4) { 
     ["REFNO"]=> 
     string(6) "000762" 
     ["STATUS"]=> 
     string(5) "CURRE" 
     ["DATE"]=> 
     string(8) "20100731" 
     ["COMPANY"]=> 
     string(80) "Tresham Institute Business Solutions           " 
     } 
     [1]=> 
     array(4) { 
     ["REFNO"]=> 
     string(6) "003721" 
     ["STATUS"]=> 
     string(5) "CURRE" 
     ["DATE"]=> 
     string(8) "20100930" 
     ["COMPANY"]=> 
     string(80) "Triad esign                 " 
     } 
     [2]=> 
     array(4) { 
     ["REFNO"]=> 
     string(6) "011412" 
     ["STATUS"]=> 
     string(5) "CURRE" 
     ["DATE"]=> 
     string(8) "20100630" 
     ["COMPANY"]=> 
     string(80) "Transpower Drives Ltd               " 
     } 
     [3]=> 
     array(4) { 
     ["REFNO"]=> 
     string(6) "059647" 
     ["STATUS"]=> 
     string(5) "CURRE" 
     ["DATE"]=> 
     string(8) "20100630" 
     ["COMPANY"]=> 
     string(80) "Trek-Kits Ltd                 " 
     } 
    } 
    } 
} 

回答

6

您將需要一個函數,將兩個項目進行排序並進行比較。

function sort_by_company($a, $b) 
{ 
    return strcmp($a['COMPANY'], $b['COMPANY']); 
} 

然後,使用usort函數。

usort($arr['DATASOURCE']['MEMBER'], 'sort_by_company'); 
+0

輝煌,您的幫助感謝,它完美的工作。 – 2010-04-20 09:54:30

0

可以使用usort() PHP函數。

+0

請參考這個帖子 http://stackoverflow.com/questions/2672900/sort-an-array-by-a-child-arrays-value/2672925#2672925 – Karthik 2010-04-20 09:15:58

相關問題