SORU
8 Aralık 2008, PAZARTESİ


Anahtarları bir Dizi dayalı bir Dizi sıralama?

Olası PHP böyle bir şey yapmak mı? Nasıl bir işlevi yazma hakkında gitmek istiyorsunuz? İşte bir örnek. Düzeni en önemli şeydir.

$customer['address'] = '123 fake st';
$customer['name'] = 'Tim';
$customer['dob'] = '12/08/1986';
$customer['dontSortMe'] = 'this value doesnt need to be sorted';

Ve şöyle bir şey yapmak istiyorum

$properOrderedArray = sortArrayByArray($customer, array('name', 'dob', 'address'));

Çünkü sonunda kullandığım bir foreach() ve bunların hepsi doğru sırayla (çünkü ben eklemek değerleri için bir dize hangi ihtiyaçları için doğru sipariş ve bilmiyorum şimdiden tüm dizi anahtarları/değerleri).

PHP dahili fonksiyonlar dizisi baktım ama sadece alfabetik veya sayısal sıralama gibi görünüyor.

CEVAP
8 Aralık 2008, PAZARTESİ


İşte:

function sortArrayByArray(Array $array, Array $orderArray) {
    $ordered = array();
    foreach($orderArray as $key) {
        if(array_key_exists($key,$array)) {
            $ordered[$key] = $array[$key];
            unset($array[$key]);
        }
    }
    return $ordered   $array;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • Kyletiv7

    Kyletiv7

    28 Mayıs 2007
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010