Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah

Kamu 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;
?>
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