Menu
Coddy logo textTech

'array_search' ile Anahtar Arama

Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 18 / 68.

in_array() bir değerin bir dizide olup olmadığını söylerken, bazen bu değerin tam olarak nerede bulunduğunu bilmeniz gerekir. array_search() fonksiyonu, bir dizide belirli bir değeri bulur ve ona karşılık gelen anahtarı veya indeksi döndürür.

Nasıl çalıştığı aşağıdadır:

<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position;  // Çıktı: 2
?>

Fonksiyon iki parametre alır: aradığınız değer ve içinde arama yapılacak dizi. Değer bulunduğunda, array_search() anahtarı döndürür (indeksli diziler için bu, 0'dan başlayan sayısal konumdur).

Ancak, neyin döndürüldüğü konusunda önemli bir ayrım vardır. Eğer değer bulunursa, anahtarı alırsınız. Eğer değer bulunamazsa, fonksiyon false döndürür:

<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores);    // Döndürür: 2
$notFound = array_search(100, $scores); // Döndürür: false
?>

Bu fonksiyon, bir öğenin konumunu veya sıralamasını belirlemeniz gerektiğinde, örneğin bir oyuncunun liderlik tablosundaki yerini bulmak veya daha ileri işlemler için belirli bir öğenin dizinini (index) tespit etmek gibi durumlarda özellikle yararlıdır.

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 bir ürün adları dizisi ve aranacak bir ürün adı. Her iki girdiyi de okuyun, JSON dizesini bir diziye dönüştürün, ürünün dizideki konumunu bulmak için array_search() fonksiyonunu kullanın ve sonucu yazdırın. Ürün bulunursa, dizin (index) konumunu yazdırın. Ürün bulunamazsa, "Product not found" yazdırın.

Girdi formatı: İki satır - ilk satır bir JSON dizisi içerir (örnek: ["laptop","mouse","keyboard","monitor"]), ikinci satır aranacak ürün adını içerir

Beklenen çıktı: Ürünün sayısal dizin konumu (0'dan başlayarak) veya ürün dizide mevcut değilse "Product not found" metni

Kopya kağıdı

array_search() fonksiyonu, bir dizide belirli bir değeri arar ve bu değerin anahtarını veya dizinini döndürür:

<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position;  // Çıktı: 2
?>

Fonksiyon iki parametre alır: aradığınız değer ve arama yapılacak dizi. Değer bulunursa anahtarı, bulunamazsa false döndürür:

<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores);    // Dönen değer: 2
$notFound = array_search(100, $scores); // Dönen değer: false
?>

Kendin dene

<?php
// JSON dizi girişini oku
$jsonInput = fgets(STDIN);
$products = (array)json_decode($jsonInput, true);

// Aranacak ürün adını oku
$searchProduct = trim(fgets(STDIN));

// YAPILACAK: Kodunuzu aşağıya yazın
// Ürün konumunu bulmak için array_search() kullanın


// Sonucu yazdır
echo $result;
?>
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