Mengambil bagian dengan 'array_slice'
Termasuk bagian Logika dan Alur dalam perjalanan PHP di Coddy. Pelajaran 16 dari 68.
Fungsi array_slice() memungkinkan kamu mengambil sebagian dari array tanpa mengubah array asli. Tidak seperti fungsi seperti array_pop() atau array_shift() yang mengubah array sumber, array_slice() membuat array baru yang hanya berisi elemen yang kamu tentukan.
Fungsi ini menerima dua parameter utama: offset (posisi awal) dan length (jumlah elemen yang diekstrak):
<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree); // Output: Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores); // array asli tidak berubah
?>Parameter offset memberi tahu PHP dari mana harus mulai mengekstrak (0 berarti elemen pertama), sedangkan parameter length menentukan berapa banyak elemen yang diambil. Kamu juga dapat menggunakan nilai negatif untuk offset agar mulai menghitung dari akhir array.
Fungsi ini sangat berguna saat kamu perlu bekerja dengan sebagian data, seperti menampilkan hanya beberapa item pertama dari list yang besar atau mengambil rentang elemen tertentu untuk diproses, sambil tetap menjaga data aslimu.
Tantangan
MudahKamu akan menerima tiga input: array harga produk dalam format JSON, posisi awal (offset), dan jumlah item yang akan diekstrak (length). Baca ketiga input, ubah string JSON menjadi array, gunakan array_slice() untuk mengekstrak bagian array yang ditentukan, lalu cetak potongan yang diekstrak menggunakan print_r().
Format input: Tiga baris, baris pertama berisi array angka JSON (contoh: [29.99,15.50,42.00,8.75,33.25]), baris kedua berisi offset (posisi awal), baris ketiga berisi length (jumlah elemen yang akan diekstrak)
Output yang diharapkan: Bagian array yang diekstrak, ditampilkan menggunakan print_r()
Coba sendiri
<?php
// Baca array JSON berisi harga
$json_input = fgets(STDIN);
$prices = (array)json_decode($json_input, true);
// Baca offset (posisi awal)
$offset = intval(fgets(STDIN));
// Baca length (jumlah elemen yang akan diambil)
$length = intval(fgets(STDIN));
// TODO: Tulis kodemu di bawah ini untuk mengambil bagian array dan menampilkannya sebagai output
?>Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Fungsi Lanjutan
Fungsi AnonimClosure dan 'use'Fungsi PanahFungsi CallbackMenggunakan 'call_user_func'Fungsi VariabelMengirim dengan ReferensiFungsi RekursifUlasan: Ragam Fungsi4Array Multidimensi
Membuat array 2DMengakses Elemen array 2DMengubah Elemen array 2DMelakukan Perulangan dengan loop Bersarangarray Asosiatif 2DRekap: Latihan Kisi Sederhana2Manipulasi array Lanjutan
Menambahkan dengan 'array_push'Menghapus dengan 'array_pop'Menambahkan dengan 'array_unshift'Menghapus dengan 'array_shift'Menggabungkan array berindeksMenggabungkan array asosiatifMengambil bagian dengan 'array_slice'Nilai dengan 'in_array'Kunci dengan 'array_search'Rekap: Latihan playlist3Mengurutkan array
Urutkan array berindeks secara menaikUrutkan array berindeks secara menurunUrutkan assoc array berdasarkan nilaiUrutkan assoc array berdasarkan kunciPengurutan urutan alamiPengurutan khusus dengan 'usort'Rangkuman: Pengurutan papan peringkatLatihan sendiri: Compiler PHP online