İndisli Dizileri Azalan Sırada Sıralama
Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 21 / 68.
Verileri en yüksekten en düşüğe veya Z'den A'ya doğru ters sırada sıralamanız gerektiğinde, PHP'nin rsort() işlevi mükemmel bir çözüm sunar. Bu işlev, sort() gibi çalışır; ancak öğeleri artan sıra yerine azalan sırada düzenler.
İşte rsort() bir puan dizisiyle şöyle çalışır:
<?php
$scores = [78, 95, 82, 91, 87];
rsort($scores);
print_r($scores);
// Outputs: Array ( [0] => 95 [1] => 91 [2] => 87 [3] => 82 [4] => 78 )
?>sort() gibi, rsort() işlevi yeni bir sıralanmış kopya oluşturmak yerine özgün diziyi doğrudan değiştirir. rsort() çağrıldıktan sonra diziniz azalan düzende kalıcı olarak yeniden düzenlenir.
Bu işlev, sıralamaları, liderlik tablolarını veya en yüksek değerlerin önce görünmesi gereken herhangi bir veriyi görüntülemek istediğinizde özellikle kullanışlıdır. Test scores'ları, satış rakamları veya ters sıralanması gereken alfabetik listelerle çalışıyor olmanız fark etmeksizin, rsort() bu görevi verimli bir şekilde yerine getirir.
Görev
KolayTek bir girdi alacaksınız: JSON biçiminde bir satış rakamları dizisi. Girdiyi okuyun, JSON dizesini bir diziye dönüştürün, satış rakamlarını azalan düzende sıralamak için rsort() kullanın ve sıralanmış diziyi print_r() kullanarak yazdırın.
Girdi biçimi: Sayılardan oluşan bir JSON dizisi içeren tek satır (örnek: [1250,3400,890,2100,1780])
Beklenen çıktı: print_r() kullanılarak görüntülenen, azalan düzende sıralanmış dizi
Kendin dene
<?php
// Girdiyi oku
$input = trim(fgets(STDIN));
// JSON dizesini diziye dönüştür
$sales = json_decode($input, true);
// TODO: Diziyi azalan sırada sıralamak için kodunuzu aşağıya yazın
// Sıralanmış diziyi yazdır
print_r($sales);
?>Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1İleri Seviye Fonksiyonlar
Anonim FonksiyonlarClosure'lar ve 'use'Ok Fonksiyonları (Arrow Functions)Geri Çağırma (Callback) Fonksiyonları'call_user_func' KullanımıDeğişken FonksiyonlarReferans ile Değer AktarımıÖz Yinelemeli (Recursive) FonksiyonlarÖzet: Fonksiyon Karması4Çok Boyutlu Diziler
2 Boyutlu Dizi Oluşturma2 Boyutlu Dizi Elemanlarına Erişme2 Boyutlu Dizi Elemanlarını Değiştirmeİç İçe Döngülerle Yineleme2 Boyutlu İlişkisel DizilerÖzet: Basit Izgara Egzersizi2İleri Düzey Dizi İşlemleri
'array_push' ile Ekleme'array_pop' ile Silme'array_unshift' ile Ekleme'array_shift' ile Silmeİndisli Dizileri Birleştirmeİlişkisel Dizileri Birleştirme'array_slice' ile Kesit Alma'in_array' ile Değer Kontrolü'array_search' ile Anahtar AramaÖzet: Çalma Listesi Alıştırması3Dizileri Sıralama
İndisli Dizileri Artan Sırada Sıralamaİndisli Dizileri Azalan Sırada Sıralamaİlişkisel Dizileri Değere Göre Sıralamaİlişkisel Dizileri Anahtara Göre SıralamaDoğal Sıralama (Natural Order)'usort' ile Özel SıralamaÖzet: Liderlik Tablosu SıralamaKendi başına pratik yap: Online PHP derleyicisi