PHP Richtigen Array im Array im Array suchen und dann einen Parameter aus unter Array ausgeben

Wolly300

Lieutenant
Registriert
Mai 2014
Beiträge
514
Hallo zusammen,

ja der Titel hört sich grauenhaft an, aber das ist jetzt gerade mein Problem.

Hier mal das Beispiel

PHP:
$i = Array ([0] => da [1] =>  Etwas [2] => wieder etwas  [3] => noch etwas [4] => [A] => 
          Array ( [0] => Array ( [suche ich] => Tim [Wert1] => keine Ahnung0 [Wert2]  => wieder keine Ahnung0 [Wert3] => Array (...)) 
                     [1] => Array ( [suche ich] => Tom [Wert1] => keine Ahnung1 [Wert2]  => wieder keine Ahnung1) [Wert3] => Array (...))
                     [2] => Array ( [suche ich] => Alex [Wert1] => keine Ahnung2 [Wert2]  => wieder keine Ahnung2 [Wert3] => Array (...))
                     [3] => Array ( [suche ich] => Lisa [Wert1] => keine Ahnung3 [Wert2]  => wieder keine Ahnung3 [Wert3] => Array (...))
      )
)

Ok wie suche ich jetzt nach dem Array, in dem bei ['suche ich'] "Alex" steht ? Ich kenne den Weg $i['4']['A'] aber wie geht es dann weiter ? Ich weiß ja nicht welche nummer der Array hat in dem Alex steht ?

Wenn ich den richtigen Array habe, möchte ich etwas aus dem Array unter ['Wert3'] ausgeben, das sollte doch glaube ich kein Probelm sein ?

Danke für eure Hilfe.
 
Naja drüber iterieren?
Dann für das jeweile array mit array_search('Deine_Suche', $array) Treffer suchen.

PHP:
foreach($i['4']['A'] as $arr){
    if(array_search('SUCHE', $arr) === true)
        echo $arr['Was du ausgeben willst'];
}
 
mehr als jedeselement durchsuchen kannst nicht machen, wie meine vorredner schon sagten.
Außer natürlich nochmal über deine daten strucktur nachdenken! array in array in array in dem man etwas finden will ist grauenhaft. da steigt auch irgendwann keiner mehr durch.
ansonsten den array vorsortieren und "indizieren"
vlt. hast ein wenig mehr Kontext was du machst?
 
Zurück
Oben