v2.5.2
Giriş yap

PHP in_array() Fonksiyonu

PHP 4PHP 5PHP 7

Belirtilen değerin dizide olup olmadığını kontrol eder.

Yapısı (Syntax)in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) : bool

Parametreler

  • $needle mixed
    Aranacak değer
  • $haystack array
    Arama yapılacak dizi
  • $strict = FALSE boolean
    Eğer TRUE olarak belirlenirse, tip dayatması yapılacaktır. Yani 1.15 ile "1.15" aynı olarak değerlendirilmeyecektir.

Dönen Değer

boolean - Dizide bulunuyorsa TRUE, bulunmuyorsa FALSE değerini döndürür.

NOT
İşin aslı samanlıkta iğne aramanın yazılım versiyonudur :) Samanlık burada dizimiz, iğne ise dizi içinde aradığımız elemandır. Ve değer aranırken büyük-küçük harfe duyarlı olarak arayacaktır.

Örnekler

Dizinin içinde belirlediğimiz değerin olup olmadığını kontrol edelim.

<?php

$dizi = ['istanbul', 'ankara', 'eskişehir'];

if ( in_array('eskişehir', $dizi) ){
    echo 'eskişehir dizi içerisinde yer alıyor.';
}

?>

Tip dayatması yaparak dizi içinde değer arayalım.

<?php

$dizi = [1, 3, 1.12, 1.18];

// tip dayatması olmadığında tipine bakmadığı için dizide yer aldığını varsayıyor.
var_export(in_array('1.18', $dizi)); // Çıktı: true

// tip dayatmasını aktif ettiğimizde biz string bir değer arıyoruz, oysa dizide bulunan değer double
var_export(in_array('1.18', $dizi, true)); // Çıktı: false

// tip dayatmasına göre doğru şekilde arama yaparsak sonuç true olacaktır.
var_export(in_array(1.18, $dizi, true)); // Çıktı: true

?>

Büyük-küçük harfe duyarsız şekilde aratmak istersek, kendimiz bir fonksiyon yazıp kullanabiliriz.

<?php

$dizi = ['Tayfun', 'Ahmet', 'Durmuş'];

function in_arrayi($needle, $haystack) {
    return in_array(strtolower($needle), array_map('strtolower', $haystack));
}

var_export(in_arrayi('tayfun', $dizi)); // Çıktı: true

?>

tayfunerbilen
2016 gün önce eklendi - 4425 kez görüntülendi.
Github'da Düzenle
Önceki define() Sonraki trim()