CodeBlanks Logo Icon CodeBlanks

array_shift() ve array_unshift()

PHP kursu · Başlangıç · Ders 60/116

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

  1. 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.

  2. 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);
  3. 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
  4. 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.

Başlangıç bölümündeki tüm dersler