Php dizi içerisinde arama yapma

sezaialkan
Sezai Alkan Frontend Developer

Php Dizi İçerisinde Arama Yapma , Php İle Oluşturduğumuz Dizilerin İçerisinde Arama Yapmak İçin 2 Farklı Fonksiyon Kullanabiliriz. İlk Fonksiyonumuz array_search() Fonksiyonudur. Bu Fonksiyon Dizi İçerisinde Aranan Eleman Varsa Elemanın Anahtar Değerini Döndürür. Büyük Küçük Harf Duyarlılığı Vardır. İki Parametre Alır, İlk Parametresi Aranacak Değer, İkinci Parametresi İse Arama Yapılacak Dizidir. Dilimizde de Buna Samanlıkta İğne Aramakta Denebilir.

array_search(needle, haystack);

İkinci Seçenek Olarak İse in_array() Fonksiyonudur. Kullanımı Tamamiyle array_search() Fonksiyonu İle Aynıdır. Eğer Dizi İçerisinde Aranan Değer Varsa Bize Değeri Değil 1(true) Değerini Döndürür.

in_array(needle, haystack);

ARRAY_SEARCH()

İlk Olarak array_search() Fonksiyonu İle Basit Bir Arama Yapalım

$haystack = [
    "php",
    "jquery",
    "javascript",
    "html",
    "css"
];

echo array_search("html", $haystack);

Yukarıdaki Örnekte Manuel Olarak Dizi İçerisinde html Elemanını Aratacaktır. Eğer Elemanı Bulursa Anahtar Değerini Döndürecektir. Aşağıda Biraz Daha Gelişmiş Bir Örnek Yapalım Kullanıcıdan Gelen Değere Göre Arama Yaptıralım.

Html

<form method="post">
    <input type="text" name="needle">
    <input type="submit" name="search" value="Ara">
</form>

Php

$haystack = [
    "php",
    "jquery",
    "javascript",
    "html",
    "css"
];

if(isset($_POST['search'])){
    $search = array_search($_POST['needle'], $haystack);
    echo $haystack[$search];
}

Yukarıda Form dan Gelen Bilgiye Göre Dizi İçerisinde Arama Yaptırdık. Eğer Aranan Eleman Dizide Mevcutsa Dönen Anahtar Değer İle Dizi İçerisinden Elemanı Çekiyoruz.

IN_ARRAY()

in_array() İle Dizi İçerisinde Bir Değer Aratalım, Dönen Sonucu Görerek if İle Kullanıcıya Bilgi Verelim.

$haystack = [
    "php",
    "jquery",
    "javascript",
    "html",
    "css"
];

if(in_array("html", $haystack)){
    echo "Aranan Değer Dizi İçersinde Mevcuttur.";
}else{
    echo "Aranan Değer Dizi İçersinde Bulunamadı.";
}

Yukarıdaki Örneğe Göre Eğer html Değeri Dizi İçerisinde Varsa Ekrana Aranan Değer Dizi İçerisinde Mevcuttur. Diye Yazdıracaktır. Eğer Aranan Değer Yoksa Aranan Değer Dizi İçerisinde Bulunamadı. Diye Ekrana Yazdıracaktır.

Yorumlar

Yorum Yapabilmek İçin Giriş Yapmalısınız.
İlk Yorum Yapan Sen Ol!
Uçur Beni Kahramanım Yukarı Çık
Bu web sitesi çerezleri kullanıyor. Devam ederek çerez kullanımını kabul etmiş oluyorsunuz. Detay

Devam Etmek İçin Giriş Yapın

Kod Hocası İle Paylaşımda bulunabilir, Kendini geliştirebilirsin. Sende Hemen Giriş Yap Aramıza Katıl.

GirişKayıt Ol