Как отсортировать многомерный массив по значению 4-го уровня в PHP - PullRequest
0 голосов
/ 20 апреля 2010

У меня есть массив, который конвертируется из XML-ответа. Что мне нужно сделать, это отсортировать массив по возрастанию в алфавитном порядке, используя значение «КОМПАНИЯ».

Я пытался использовать 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                                                                   "
      }
    }
  }
}

Ответы [ 2 ]

6 голосов
/ 20 апреля 2010

Вам понадобится функция, которая берет два элемента для сортировки и сравнивает их.

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

Затем используйте функцию usort.

usort($arr['DATASOURCE']['MEMBER'], 'sort_by_company');
0 голосов
/ 20 апреля 2010

Вы можете использовать usort() PHP функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...