PHP 4'üncü seviye değerine göre bir çok-boyutlu bir dizi sıralamak için nasıl

2 Cevap php

Ben bir XML yanıt dönüştürülmüş bir dizi var. Ne yapmam gereken sıralama 'ŞİRKET' değerini kullanarak alfabetik olarak artan dizidir.

Ben array_multisort kullanmaya çalıştılar, ama ben hiç şans yaşıyorum. Herhangi bir yardım büyük mutluluk duyacağız.

İşte dizidir:

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 Cevap

Sen sıralanabilir iki öğe alır ve bunları karşılaştırır bir işlevi gerekir.

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

Ardından, usort işlevini kullanın.

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

Sen usort() PHP fonksiyon kullanabilirsiniz.