Hallo WernerK,
was Dedlfix schreibt, ist keine reine Begriffeklauberei. Verschachtelte Arrays und mehrdimensionale Arrays sind unterschiedliche Dinge.
-
Ein mehrdimensionales Array ist EIN Objekt. Seine Form ist regelmäßig, z.B. bei einem zweidimensionalen Array hat die 1. Zeile genauso viele Spalten wie die 2. Zeile. Die Anzahl der Dimensionen ist von vorn herein festgelegt und nachträglich nicht mehr änderbar. Mehrdimensionale Arrays sind sinnvoll, wenn tatsächlich mehrdimensionale Daten vorliegen (Beispiel zweidimensional: Figuren auf einem Schachbrett). In JavaScript oder PHP gibt es keine mehrdimensionalen Arrays. In Sprachen wie C# oder Java schon.
-
Ein verschachteltes Array besteht aus mehreren Objekten. Auf der obersten Ebene befindet sich ein eindimensionales Array, dessen Elemente wiederum eindimensionale Arrays sind. Jedes dieser innerern Arrays hat eine variable Anzahl von Elementen, jedes Array auf der zweiten Ebene kann einfache Werte enthalten oder irgendwelche Objekte. Unter anderem auch weitere Arrays - die Schachtelungstiefe ist nicht begrenzt und muss auch im Voraus nicht festgelegt werden. Verschachtelte Arrays werden nur von Sprachen unterstützt, die mit Objektreferenzen umgehen können und explizit Objekte vom Typ Array kennen.
Mehrdimensionale Arrays können von Compilersprachen effizienter in Maschinencode übersetzt werden. Verschachtelte Arrays sind langsamer, aber eben auch flexibler und ggf. speichersparender, wenn inneren Arrays sehr unterschiedliche Längen haben.
Rolf
sumpsi - posui - clusi