Hallo,
folgender Code sollte überprüfen, ob ein Suchbegriff in einem mehrdimensionalem Array vorhanden ist.
Leider passt das Tutorial von
http://tut.php-q.net/recursion.html#u3 nicht ganz auf meine Bedürfnisse.
Hier mein Code:
Zuerst der Array. In meinem Fall hat er 2 Dimensionen:
PHP-Code:
$vorlage = array();
$vorlage[0]['id'] = (int)0;
$vorlage[0]['datei'] = (string)'startseite';
$vorlage[1]['id'] = (int)1;
$vorlage[1]['datei'] = (string)'inhalt_detail';
$vorlage[2]['id'] = (int)2;
$vorlage[2]['datei'] = (string)'inhalt_liste';
Hier die Funktion:
PHP-Code:
function search_multi_array($suchbegriff, $multiarray)
{
foreach($multiarray as $key=>$values)
{
if(is_array($values))
{
if(in_array($suchbegriff,$values))
{
$ergebnis = 1;
}
else
{
$ergebnis = 0;
}
}
else
{
$ergebnis = (string)'Ergebnis ist kein Array';
}
}
return $ergebnis;
}
1. Problem: Wenn die Funktion mit...
PHP-Code:
$x = search_multi_array('startseite', $vorlage);
echo $x;
...ausgeführt wird, bekomme ich immer 0 zurück.
2. Problem: Wenn ich die Ergebniswerte innerhalb der Funktion explizit als bool (per typecast) deklariere, bekomme ich gar kein Ergebnis zurück?
Kann mir jemand sagen, wo ich bei meinen Problemen einen Denkfehler habe?
THX schon mal im Voraus,
Phil