array_shift() ve array_unshift()
array_shift() ile baştan eleman çıkarmayı ve array_unshift() ile başa eklemeyi öğrenirsin.
array_shift() ve array_unshift()
array_shift() dizinin başındaki elemanı çıkarır ve döndürür. Kalan elemanların indeksleri yeniden numaralanır. Örneğin $q = ["Ali", "Ayşe"]; dizisinde array_shift($q) "Ali"yi döndürür ve $q artık ["Ayşe"] olur.
array_unshift() ise başa bir veya birden fazla eleman ekler. array_unshift($q, "Veli") çağrısı "Veli"yi dizinin başına koyar. Bu ikili birlikte bir kuyruk (queue) oluşturur: ilk giren eleman ilk çıkar.
Yığın değil, kuyruk
array_shift() ve array_unshift() bir kuyruk (queue) mantığı oluşturur. Kuyrukta ilk eklenen eleman ilk işlenir; buna FIFO (ilk giren ilk çıkar) denir.
Bu ikili, array_push() ve array_pop() ile aynı işlemi yapmaz: push/pop dizinin sonuyla, shift/unshift dizinin başıyla ilgilenir. Ayrıca array_shift() çıkarılan elemanı döndürürken, array_unshift() yeni eleman sayısını döndürür.
Uygulama Kuyruk oluştur ve baştan çıkar
Bir $queue dizisi tanımla ve boş başlat []. array_unshift() ile başa üç değer ekle (tek çağrıda, bu sırayla): "Ali", "Ayşe", "Mehmet". Sonra array_shift() ile baştaki elemanı $first değişkenine ata ve echo $first . "\n" ile yazdır.
Örnek çözümü göster
Önce array_unshift($queue, "Ali", "Ayşe", "Mehmet"); ile ekle. Sonra $first = array_shift($queue); ile baştaki elemanı al ve echo $first . "\n"; ile yazdır.
Örnek çözüm:
<?php
$queue = [];
// Kuyruğa ekle, baştaki elemanı al ve yazdır
array_unshift($queue, "Ali", "Ayşe", "Mehmet");
$first = array_shift($queue);
echo $first . "\n";
Kendini test et
-
Aşağıdaki kodun çıktısı nedir?
$names = ["Ali", "Ayşe", "Mehmet"]; $first = array_shift($names); echo $first;- Ali
- Ayşe
- Mehmet
- null
Cevabı göster
Ali — Doğru. array_shift baştaki elemanı döndürür; ilk eleman 'Ali'dir.
-
Başa eleman eklemek için fonksiyonu yaz
$queue = ["Ali", "Ayşe"]; ____($queue, "Veli"); print_r($queue);Cevabı göster
$queue = ["Ali", "Ayşe"]; array_unshift($queue, "Veli"); print_r($queue); -
Fonksiyon ve ucunu eşle
- array_push
- Sona ekler
- array_pop
- Sondan çıkarır
- array_shift
- Baştan çıkarır
- array_unshift
- Başa ekler
-
array_unshift ne döndürür?
- Çıkarılan elemanı
- İlk elemanı
- Eklenen elemanı
- Yeni eleman sayısını
Cevabı göster
Yeni eleman sayısını — Doğru. array_unshift yeni eleman sayısını döndürür.