in_array() ve array_search()
in_array() ile eleman varlığını ve array_search() ile eleman konumunu sorgulamayı öğrenirsin.
in_array() ile varlık kontrolü
in_array() bir elemanın dizi içinde olup olmadığını kontrol eder. in_array("Ali", $names) çağrısı "Ali" dizedisinin $names içinde varsa true, yoksa false döner.
Varsayılan olarak tür esnetmesi yapar; yani in_array("1", [1, 2]) true döner çünkü PHP "1" ile 1'i eşit sayar. Tür dahil sıkı karşılaştırma için üçüncü parametreye true verirsin: in_array("1", [1, 2], true) artık false döner.
array_search() ile konum bulma
array_search() bir elemanın dizideki anahtarını (indeksini) döndürür. array_search("Ali", $names) "Ali"nin indeksini verir; bulamazsa false döner.
in_array yalnızca varlığı söylerken, array_search konumu da verir. Aynı şekilde üçüncü parametre true ile sıkı karşılaştırma yapılır. Dönen değeri kontrol ederken === kullan; çünkü 0 indeksi de 'bulunamadı' ile karışabilir.
Uygulama Ara ve indeksi yazdır
$names = ["Ali", "Ayşe", "Mehmet"] dizisi tanımla. $pos = array_search("Ayşe", $names) ile "Ayşe"nin indeksini al. Sonra echo $pos . "\n" ile yazdır.
Örnek çözümü göster
$pos = array_search("Ayşe", $names); ile indeksi al. Sonra echo $pos . "\n"; ile yazdır.
Örnek çözüm:
<?php
$names = ["Ali", "Ayşe", "Mehmet"];
// "Ayşe"nin indeksini bul ve yazdır
$pos = array_search("Ayşe", $names);
echo $pos . "\n";
Kendini test et
-
in_array ne döndürür?
- İndeksi
- Elemanın kendisini
- Yeni dizi
- true/false
Cevabı göster
true/false — Doğru. in_array bulursa true, bulamazsa false döner.
-
Ali dizide var mı kontrol et
$names = ["Ali", "Ayşe", "Mehmet"]; if (____("Ali", $names)) { echo "Bulundu"; }Cevabı göster
$names = ["Ali", "Ayşe", "Mehmet"]; if (in_array("Ali", $names)) { echo "Bulundu"; } -
Fonksiyon ve dönüş değerini eşle
- in_array
- true veya false
- array_search
- İndeks veya false
- array_pop
- Çıkarılan eleman
-
array_search("Ayşe", ["Ali", "Ayşe", "Mehmet"]) ne döndürür?
- 0
- 1
- true
- Ayşe
Cevabı göster
1 — Doğru. Ayşe 1. indekstedir; array_search 1 döner.