Kunci dengan 'array_search'
Termasuk bagian Logika dan Alur dalam perjalanan PHP di Coddy. Pelajaran 18 dari 68.
Meskipun in_array() memberi tahu kamu apakah suatu nilai ada di dalam array, terkadang kamu perlu tahu persis di mana nilai itu berada. Fungsi array_search() mencari nilai tertentu di dalam array dan mengembalikan key atau indeks yang sesuai.
Begini cara kerjanya:
<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position; // Output: 2
?>Fungsi ini menerima dua parameter: nilai yang kamu cari dan array tempat kamu mencarinya. Saat nilai ditemukan, array_search() mengembalikan kunci (untuk array berindeks, kunci ini adalah posisi numerik yang dimulai dari 0).
Namun, ada perbedaan penting pada nilai yang dikembalikan. Jika nilai ditemukan, kamu mendapatkan kuncinya. Jika nilai tidak ditemukan, fungsi mengembalikan false:
<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores); // Mengembalikan: 2
$notFound = array_search(100, $scores); // Mengembalikan: false
?>Fungsi ini sangat berguna saat kamu perlu menentukan posisi atau peringkat suatu item, misalnya mencari peringkat pemain di papan peringkat atau menemukan indeks elemen tertentu untuk diproses lebih lanjut.
Tantangan
MudahKamu akan menerima dua input: array nama produk dalam format JSON dan nama produk yang akan dicari. Baca kedua input, ubah string JSON menjadi array, gunakan array_search() untuk menemukan posisi produk dalam array, lalu cetak hasilnya. Jika produk ditemukan, cetak posisi indeksnya. Jika produk tidak ditemukan, cetak "Product not found".
Format input: Dua baris: baris pertama berisi array JSON (contoh: ["laptop","mouse","keyboard","monitor"]), baris kedua berisi nama produk yang akan dicari
Output yang diharapkan: Posisi indeks numerik produk (dimulai dari 0) atau teks "Product not found" jika produk tidak ada dalam array
Coba sendiri
<?php
// Baca input array JSON
$jsonInput = fgets(STDIN);
$products = (array)json_decode($jsonInput, true);
// Baca nama produk yang ingin dicari
$searchProduct = trim(fgets(STDIN));
// TODO: Tulis kodemu di bawah ini
// Gunakan array_search() untuk menemukan posisi produk
// Tampilkan hasilnya
echo $result;
?>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