Index-Systematik mit Arrays - Tips gesucht

Hi

ich würde gerne mit mehrdimensionalen Arrays arbeiten, die ich in einer Include Datei ablegen will.

Am liebsten wäre mir die Definition einer Tabelle, die ich nach deren Spalten indizieren kann, um sowohl über die Spalte 1 als auch über andere Spalten dann jeweils an die Werte der anderen Spalten zu kommen. Vom Prinzip her eine Datenbank-Tabelle mit n Spalten und n indices.

Das gibt’s in PHP aber nicht …

Prinzipiell soll mir das Array die Möglichkeit geben:

  • von einem Alias (z.B. „WZ-Decke“) auf die ID, auf den Klartext („Wohnen Decke Fluterleiste am Fenster“), auf Initialisierungswerte und weitere „Properties“ (gehört zur Gruppe Anwesenheitssimulation, gehört zur Gruppe „Lichtszene1“ usw.) zu schliessen
  • von einer ID auf einen Alias zu schliessen
  • von einer Gruppe („Lichtszene1“) auf die beteiligten ID’s zu schliessen

In anderen Programmiersprachen, die ich beherrsche, würde ich das mit einem eindimensionalen Hilfsarray tun, dem ich je Array-Wert einen String zuordnen würde, den ich mit eigenen Delimitern in Spalten organisiere. Das Erste Arrayelement wäre die Splatendefinition selbst.

Dieses Hilfsarray würde ich anschliessend auslesen in n (n=Anzahl Spalten) zweidimensionale Arrays auslesen und diese Arrays jeweils sortieren.

Wie macht man sowas in PHP?

BEISPIEL (| ist Delimiter):

Alias | ID | Klartext | Typ | Start | SZ1 | SZ2 | SZ3 | SZ4 | PK
Alias=EZ01 | ID=20112 | Klar=Essen Deckenlampe aussen | Typ=FS20 | SZ1=0 | SZ2=1 | SZ4=1 | PK=0
Alias=EZ02 | ID=10712 | Klar=Essen Wandlampeen | Typ=FS20 | SZ1=0.3 | SZ2=1 | SZ4=0 | PK=0
Alias=T01 | ID=50112 | Klar=Terrasse Gross Wandfluter | Typ=FS20 | SZ1=0.3 | PK=1

Hieraus würde dann das Array „Alias-ID“:
EZ01 => 20112
EZ02 => 10712
T01 => 50112

das Array „SZ1“:
[1,1] => EZ01
[1,2] => T01
[2,1] => 1
[2,2] => 0.3

Das Array „Panik“
[1] => T01

So könnten für Funktionen wie „setze Szene1“ relativ einfache geschachtelte Loops programmiert werden, um diese zu realisieren:

Auslesen des SZ1-Arrays --> alle beteiligten Alisasse und deren Werte
Über die Aliasse kommt man an die Typen (Funktionsaufrufe FS20 oder EIB …) sowie die ID’s, um entsprechende Funktionsaufrufe zu realisieren.

Hat jemand sowas schon realisiert und wenn ja, wie?

1000 Dank
jwka

Ich versteh einfach nicht was du genau möchtest, aber PHP hat sehr wohl mehrdimensionale Arrays. Und diese sind sogar richtig toll.


$a[1][2] = "bla";
$b['EG Küche']['Lampe'] = "asd";
$c[2]['Test'] = Array("asd" =>1234);
$d[$a[1][2]] = Array(5 => &$b['EG Küche']); //& <- Referenz auf Array

$all = Array($a, $b, $c, $d);
print_r($all);

paresy

Und hier nochmal ausführlich: PHP: Arrays - Manual

Danke für die Infos!

Wer lesen kann, ist klar im Vorteil.

Ich habe ein PHP „Starterbuch“ und auch die Website gelesen, auf der Website dummerweise statt mit dem Text ( --> As array values can be other arrays, trees and multidimensional arrays are also possible. ) mit den Beispielen angefangen.

Und nachdem weder in meinem Buch noch in den Beispielen der Website etwas von mehrdimensionalen Arrays die rede war, bin ich einer Fehlinterpretation aufgesessen - zum Glück …