• Anasayfa »
  • PHP »
  • PHP Çoklu Dizide Değere Göre Sıralama ( array_multisort(), value, sort )

PHP Çoklu Dizide Değere Göre Sıralama ( array_multisort(), value, sort )

PHP ile anahter değeri olan key’e göre sıralamayı sort() fonksiyonuyla yapabilmekteyiz.

Çoklu dizilerde ise büyükten küçüğe veya küçükten büyüğe sıralamayı array_multisort fonksiyonu yardımıyla nasıl yapıldığına dair örneği aşağıda açıklamaya çalışacağım.

Mantık olarak şu şekilde çalışmaktadır:

Çoklu bir dizide sıralanmasını istediğimiz alanı anahtar değeri yani key değeri aynı olacak şekilde farklı bir diziye aktarıyoruz.

Örnek olarakta elimizde ürünler ve bunların fiyatlarının bulunduğu bir dizide fiyatları büyükten küçüğe doğru sıralama yapacağız.

$urunler = array(
 0 => array(
 'URUN_AD' => 'Cep Telefonu',
 'URUN_FIYAT' => 1250.32,
 ),
 1 => array(
 'URUN_AD' => 'Bardak',
 'URUN_FIYAT' => 23.5,
 ),
 2 => array(
 'URUN_AD' => 'Masa',
 'URUN_FIYAT' => 352,
 ),
 3 => array(
 'URUN_AD' => 'Bilgisayar',
 'URUN_FIYAT' => 2499.99,
 )
);

$tmpArray = array(); // Sıralanmasını istediğimiz alanı buraya aktracağız

foreach($urunler as $key => $value){
 $tmpArray[$key] = $value['URUN_FIYAT'];
}

array_multisort($tmpArray, SORT_DESC, $urunler); // ESAS ALINACAK SIRALAMA DIZISI, SIRALAMA TİPİ, ANA DIZI

print_r($urunler);

Yukarıdaki kodlamanın çıktısını görebileceğiniz uygulama için burayı tıklayınız

Paylaş: