Wes*_*ght 0 php arrays sorting multidimensional-array
我有一个从XML响应转换而来的数组.我需要做的是使用'COMPANY'值按字母顺序对数组进行排序.
我试图使用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 "
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
您需要一个函数来对两个项进行排序,并对它们进行比较.
function sort_by_company($a, $b)
{
return strcmp($a['COMPANY'], $b['COMPANY']);
}
Run Code Online (Sandbox Code Playgroud)
然后,使用usort函数.
usort($arr['DATASOURCE']['MEMBER'], 'sort_by_company');
Run Code Online (Sandbox Code Playgroud)