Menu
CoddyTech

Menghapus dengan 'array_shift'

Termasuk bagian Logika dan Alur dalam perjalanan PHP di Coddy. Pelajaran 13 dari 68.

Fungsi array_shift() menghapus elemen pertama dari array dan mengembalikan nilai yang dihapus tersebut. Ini adalah kebalikan dari array_unshift(), yang menambahkan elemen ke awal array.

Begini cara kerjanya:

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

Perhatikan bahwa array_shift() mengubah array asli sekaligus mengembalikan elemen yang dihapus. Setelah elemen pertama dihapus, semua elemen yang tersisa otomatis bergeser untuk mengisi celah: "Bob" berpindah dari indeks 1 ke indeks 0, dan "Charlie" berpindah dari indeks 2 ke indeks 1.

Pengindeksan ulang ini terjadi secara otomatis, sehingga array-mu tetap memiliki urutan numerik yang benar. Jika kamu menggunakan array_shift() pada array kosong, fungsi ini mengembalikan null tanpa menyebabkan error.

Fungsi ini sangat berguna untuk membuat antrean, tempat kamu memproses item dengan urutan "pertama masuk, pertama keluar", seperti melayani pelanggan dalam antrean atau memproses tugas sesuai urutan diterimanya.

challenge icon

Tantangan

Mudah

Kamu akan menerima dua input: array awal pelanggan yang menunggu dalam antrean dalam format JSON dan angka yang menunjukkan jumlah pelanggan yang harus dilayani. Baca kedua input, ubah string JSON menjadi array, gunakan array_shift() sebanyak jumlah yang ditentukan untuk menghapus pelanggan yang telah dilayani dari bagian depan antrean, lalu tampilkan array akhir menggunakan print_r().

Format input: Dua baris: baris pertama berisi array JSON (contoh: ["Alice","Bob","Charlie","Diana"]), baris kedua berisi jumlah pelanggan yang harus dilayani (sebuah angka)

Output yang diharapkan: Array setelah pelanggan yang dilayani dihapus dari bagian depan, ditampilkan menggunakan print_r()

Coba sendiri

<?php
// Baca array JSON yang berisi pelanggan
$jsonInput = fgets(STDIN);
$customers = (array)json_decode($jsonInput, true);

// Baca jumlah pelanggan yang akan dilayani
$numToServe = intval(fgets(STDIN));

// TODO: Tulis kodemu di bawah ini
// Gunakan array_shift() untuk menghapus pelanggan dari depan antrean


// Tampilkan array akhir sebagai output
print_r($customers);
?>
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler PHP online