Menu
Coddy logo textTech

'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() fonksiyonu, bir diziden ilk öğeyi kaldırır ve kaldırılan bu değeri döndürür. Bu, bir dizinin başına öğeler ekleyen array_unshift() fonksiyonunun tam tersidir.

İşte şu şekilde çalışır:

<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson;  // Çıktı: Alice
print_r($queue);    // Çıktı: Array ( [0] => Bob [1] => Charlie )
?>

array_shift() fonksiyonunun hem orijinal diziyi değiştirdiğine hem de kaldırılan öğeyi döndürdüğüne dikkat edin. İlk öğeyi kaldırdıktan sonra, kalan tüm öğeler boşluğu doldurmak için otomatik olarak aşağı kayar—"Bob" indeks 1'den indeks 0'a, "Charlie" ise indeks 2'den indeks 1'e geçer.

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 fonksiyon, öğeleri "ilk giren, ilk çıkar" (first in, first out) düzeninde işlediğiniz kuyrukları (queues) uygulamak için özellikle yararlıdır—tıpkı sıradaki müşterilerle ilgilenmek veya görevleri alındıkları sırayla işlemek gibi.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

challenge icon

Görev

Kolay

İki girdi alacaksınız: JSON formatında sırada bekleyen müşterilerin başlangıç dizisi ve kaç müşteriye hizmet verileceğini belirten bir sayı. Her iki girdiyi de okuyun, JSON dizesini bir 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 formatı: İ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 sıranın başından kaldırıldıktan sonraki dizinin print_r() kullanılarak görüntülenen hali

Kopya kağıdı

array_shift() fonksiyonu bir diziden ilk elemanı çıkarır ve çıkarılan bu değeri döndürür:

<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson;  // Çıktı: Alice
print_r($queue);    // Çıktı: Array ( [0] => Bob [1] => Charlie )
?>

Önemli noktalar:

  • Orijinal diziyi değiştirir ve çıkarılan elemanı döndürür
  • Kalan elemanlar otomatik olarak yeniden indekslenir (aşağı kaydırılır)
  • Boş bir dizi üzerinde kullanılırsa null döndürür
  • "İlk giren ilk çıkar" (FIFO) kuyruklarını uygulamak için kullanışlıdır

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
// Kuyruğun başındaki müşterileri çıkarmak için array_shift() kullanın


// Nihai diziyi yazdır
print_r($customers);
?>
quiz iconKendini test et

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