Tutorials

Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.

Zurück zur Übersicht

PHP in_array Funktion für multidimensionale Arrays

#Tutorials#PHP

Für ein neues Projekt von mir, brauchte ich kürzlich eine Funktion, die guckt, ob ein bestimmter String in einem Multidimensionen Array vorkommt. Die normale PHP-Funktion in_array() konnte ich dafür nicht nutzen, da diese nur eindimensionale Arrays beherrscht. Hier habe ich also eine Funktion die alle arrays meistern kann ;)


function in_array_r($needle, $haystack, $strict = true) {
	    foreach ($haystack as $item) {
	        if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
	            return true;
	        }
	    }
	    return false;
}

Beispiel:


$fruits = array (
    "fruits"  => array("a" => "Orange", "b" => "Banane", "c" => "Apfel")
);

if(in_array_r('Orange', $fruits )){
	// returns true
}

Kommentare

  • Andreas
    Danke für die Funktion.
    Toll wäre es wenn die Funktion noch den zugehörigen key zurückliefert.
    Antworten
    • Andre Rinas
      Hey Andreas,

      die in_array Funktionen geben an sich nur boolean Werte zurück. Ich habe aber hier schonmal eine Methode beschrieben, wie mann es bei eindimensionalen Arrays macht:

      http://www.andrerinas.de/tutorials/php-den-key-bei-der-in-array-funktion-bekommen-falls-etwas-gefunden-wurde.html

      Vielleicht hilft dir das weiter :)

      Grüße
      André
      Antworten

Hinterlasse einen Kommentar

Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Kommentar wird gespeichert
Danke für deinen Kommentar! Sobald er freigegeben wurde erscheint er hier.