ok.. hat sich schon erledigt.. bitte löschen..
[mod] die ursprüngliche frage lautete sinngemäsz: wie kann man die tiefe eines mehrdimensionalen arrays ermitteln ?
cx
EDIT: ok.. wieder restored ;-)
Hallo Leute,
ich stecke gerade irgendwie fest. Kann mir jemand einen Tipp geben, wie ich die tiefe eines Arrays ermitteln kann? Also ich will wissen was die maximale Tiefe des Arrays ist.
Hier mal ein Beispiel:
PHP-Code:
$test = array ( "Peter" => array (
"Thomas" => array("Hanz" => array()),
"Norbert" => array(
"Hanelore" => array(
"Gretel" => array("Josef" => array()),
),
"Adolf" => array("Julia" => array()),
),
)
);
print_r($test);
function getLevel($user_ary, $level = 0)
{
$level++;
foreach ($user_ary as $user => $value)
{
echo "User ". sprintf("%10s", $user)." - in Level = " . $level . "\n";
$level = getLevel($value, $level);
}
return 0;
}
echo getLevel($test);
Bei dem Beispiel sollte dann eigentlich 4 rauskommen.
Wobei :
Peter = Ebene 0
Norbert = Ebene 1
Hanelore = Ebene 2
Gretel = Ebene 3
Josef = Ebene 4
Wäre euch für nen Tipp dankbar.
Gruß,
Thomas
Und hier die Lösung:
PHP-Code:
function getLevel($user_ary, $level = 0)
{
$return = $level;
foreach ($user_ary as $user => $value)
{
$level_new = getLevel($value, $level + 1);
if($level_new > $return)
$return = $level_new;
}
return $return;
}
echo getLevel($test);