'array_shift' ile Silme
Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 13 / 68.
array_shift() işlevi, bir dizinin ilk öğesini kaldırır ve kaldırılan bu değeri döndürür. Bu, bir dizinin başına öğeler ekleyen array_unshift() işlevinin tam tersidir.
İşte nasıl çalıştığı:
<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson; // Çıktı: Alice
print_r($queue); // Outputs: Array ( [0] => Bob [1] => Charlie )
?>array_shift() işlevinin hem özgün diziyi değiştirdiğine hem de kaldırılan öğeyi döndürdüğüne dikkat edin. İlk öğe kaldırıldıktan sonra kalan tüm öğeler, boşluğu doldurmak için otomatik olarak bir alt indekse kayar: "Bob", 1. indexten 0. indexe, "Charlie" ise 2. indexten 1. indexe taşınır.
Bu yeniden indeksleme otomatik olarak gerçekleşir ve dizinizin uygun sayısal sırayı korumasını sağlar. Boş bir dizi üzerinde array_shift() kullanırsanız, bir hataya neden olmadan null döndürür.
Bu işlev, öğeleri “ilk giren, ilk çıkar” sırasıyla işlediğiniz kuyrukları uygulamak için özellikle kullanışlıdır; örneğin sıradaki müşterileri ele almak veya görevleri alınma sırasına göre işlemek gibi.
Görev
Kolayİki girdi alacaksınız: JSON biçiminde sırada bekleyen müşterilerin bulunduğu başlangıç dizisi ve kaç müşteriye hizmet verileceğini belirten bir sayı. Her iki girdiyi okuyun, JSON dizesini diziye dönüştürün, hizmet verilen müşterileri sıranın başından kaldırmak için belirtilen sayıda array_shift() kullanın ve son diziyi print_r() kullanarak yazdırın.
Girdi biçimi: İki satır — ilk satır bir JSON dizisi içerir (örnek: ["Alice","Bob","Charlie","Diana"]), ikinci satır hizmet verilecek müşteri sayısını içerir (bir sayı)
Beklenen çıktı: Hizmet verilen müşteriler baştan kaldırıldıktan sonraki dizinin print_r() kullanılarak görüntülenmesi
Kendin dene
<?php
// Müşterilerin JSON dizisini oku
$jsonInput = fgets(STDIN);
$customers = (array)json_decode($jsonInput, true);
// Hizmet verilecek müşteri sayısını oku
$numToServe = intval(fgets(STDIN));
// TODO: Kodunuzu aşağıya yazın
// Müşterileri sıranın önünden kaldırmak için array_shift() kullanın
// Son diziyi yazdır
print_r($customers);
?>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