dedlfix: Dimensionen

Beitrag lesen

echo $begrüßung;

Für mich ist eine Dimension etwas, das von einem Punkt ausgehend kontinuierlich in eine bestimmte Richtung aufsteigt. ...

Da stimme ich aber nicht zu.

Bei Arrays gibt die Dimension an, wieviele Indizes benötigt werden, um ein Element anzusprechen: a[i][j][k] ist ein Element eines dreidimensionalen Arrays.

$x = array(
  'a' => array(
    'b' => 'c',
    'd' => 'e',
  ),
  'f' => array(
    'g' => array(
      'h' => 'i',
      'j' => 'k',
  ),
  'l' => 'm',
);

Um 'e' anzusprechen braucht man $x['a']['d'], für 'i' aber $x['f']['g']['h'], und 'm' erreicht man mit $x['l']. Wieviel dimensional ist nun $x? Was wäre, wenn einige der Elemente keine Arrays sondern Objekte sind, deren Eigenschaften ebenfalls wieder Skalar, Array oder Objekt sein können? Ob nun ->foo oder ['foo'] zum Ansprechen der Elemente genommen werden muss, ... für mich bleibt so etwas ein unregelmäßiges Gebilde und nichts was Dimensionen hat.

$y = array(
      array('a', 'b', 'c'),
      array('d', 'e', 'f'),
      array('g', 'h', 'i'),
      array('j', 'k', 'l'),
);

$y kann ich die Bezeichnung zweidimensional geben. Aber nur solange nicht eins der Elemente mit unset() entfernt wird (weil es dann ein Dimensionsloch gibt, das ja bekanntlich nach Gennf riecht ...)

Trotzdem ist $y genauer betrachtet nur _ein_ PHP-Array, auch wenn dessen Elemente jeweils die gleiche Abmessung haben.

In der Geometrie ist eine Linie eindimensional, eine Fläche zweidimensional und ein Volumen dreidimensional. Die Dimension gibt hier an, wieviele Koordinaten man benötigt, um einen Punkt im Raum zu bestimmen.

Ja, aber diese Gebilde sind regelmäßig und ohne Lücken. Die Linie hat kontinuierlich aneinandergereiht Punkte von a bis b, usw. usf.

Ich sträube mich dagegen, ein Array, dessen Elemente Datensätze darstellen sollen, als wieauchimmerdimensional zu bezeichnen, weil das meiner Meinung nach den Blick auf die eigentliche Struktur vernebelt und das Finden von Lösungsansätzen für solche Probleme wie die des OP erschwert.

"Ich habe ein multidimensionales Array. Wie sortiere ich denn das jetzt? Brauch ich womöglich räumliches Vorstellungsvermögen?"

"Nein, denn es ist nur _ein_ Array mit (komplexen) Elementen drin. Eine Sortierung erreicht man durch einfache Vergleiche zweier Elemente (bzw. von Teilaspekten dieser Elemente), zuzüglich einer PHP-Funktion, die das Neuordnen übernimmt."

echo "$verabschiedung $name";