2010-04-20 52 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

相关问题