|   Mailinglisten-Archive | 
Hallo,
was mich interessiert - also da brauche ich eine Antwort von den Profis
- ist, ob folgende Konstruktion zufaellig funktioniert oder systematisch
zwingend ist.
Anscheinend behandelt PHP mehrdimensionale Array so, dass jede mehr als
eindimensionale Wertefolge zum vorhergenden Eintrag wiederum ein Array
darstellt.
Bsp.:
Bei arr ["a"] ["a"] ["a"] ["a"]
stellt also ["a"] ["a"] ["a"] ein Array zum Eintrag ganz links dar,
["a"] ["a"] ein Array zu links ["a"] ["a"] usw.
Ich habe eine Konstruktion ueber die Funktion key gefunden, die mir ein
beliebig tief geschachteltes Array aufschluesselt und mir alle Eintraege
zurueckliefert. Bsp fuer ein 4D-Array:
arr ["a"] ["a"] ["a"] = "a"
while ( list ( $key, $val ) = each ( $arr )) 
{
echo $key  // 1. Dimension
echo key ( $val )  // 2. Dimension
echo key ( $val [ key ( $val ) ] )  // 3. Dimension
echo $val [ key ( $val ) ] [ key ( $val [ key ( $val ) ] ) ] // 4.
Dimension  
}
Ist das - mal abgesehen von der Unuebersichtlichkeit - ein Konstrukt,
das nicht nur zufaellig funktioniert dh. auch in zukuenftigen Versionen
von php erhalten bleibt?
Zugegebermassen sieht
$arr ["a"]["a"]["a"] = "a";
$k1 = key ( $arr );
$k2 = key ( $arr [$k1] );
$k3 = key ( $arr [$k1] [$k2] );
$k4 = $arr [$k1] [$k2] [$k3];
etwas uebersichtlicher aus. 
Bleibt noch die Frage, ob man die Dimensionalitaet von Arrays abfragen
kann.
Mit freundlichen Grüßen,
Oliver Kummerow
email: naklar_(at)_altavista.net
    php::bar PHP Wiki - Listenarchive