snoot: Mehrdimensionales Array durchsuchen - nur über Schleife?

Beitrag lesen

Hi,

ich habe zwei mehrdimensionales Arrays, die ich durchsuchen will. Ist das wirklich nur möglich, in dem ich das Array mit einer bzw. zwei Schleife durchlaufe?

Ich will wissen, ob $_GET['thema'] in den Arrays existiert. Im Moment mache ich das so, dass ich eine Variable auf 1 setze und diese 0 gesetzt wird, wenn in der Schleife der entsprechende Wert gefunden wird.

$fehler_thema = 1;  
if(isset($_GET['thema']))  
{  
  foreach($index as $topic => $chapters)  
  {  
    foreach($chapters as $chapter => $none)  
    {  
      if($_GET['thema'] == $chapter)  
      {  
        $fehler_thema = 0;  
      }  
    }  
  }  
}  
  
if(isset($_GET['thema']) && $fehler_thema == 1)  
{  
  ... Abbruch ...  
}

Ich habe schon gegooglet und als Alternative Funktionen in dieser Art gefunden:

function get_array_key($search, $array)  
{  
  foreach($array as $key => $values)  
  {  
    if(in_array($search, $values))  
    {  
      return $key;  
    }  
  }  
  return false;  
}  
  
$key = get_array_key('gesuchter_wert', $mehrdimensionales_array);

Das wäre ein wenig kürzer, liefert mir aber gar nichts zurück.