Wenn man nicht die richtigen Schlagwörter hat, sucht man sich einen Wolf und findet nichts. Deshalb versuche ich einmal zu beschreiben, was ich mit dem Array machen möchte:
Ich möchte in einem Array in einer Kategorie z.B. „Äpfel“ mehrere Werte schreiben. Die Besonderheit ist, dass dies in einer for-Schleife passiert und der neue Wert z.B. „Sorte $i“ => $Ergebnis.
Wenn ich das so ähnlich mache, dann wird nur der letzte Wert aus der for-Schleife gespeichert. Ich möchte aber alle Werte aus jedem Schleifendurchlauf speichern. Dabei soll es keinen neuen Index geben sondern die Werte einfach hintereinander geschrieben werden. Mit array_push bin ich schon gescheitert, weil es mehrdimensional ist.
Es fällt mir schwer es genau zu beschreiben was ich eigentlich will, tut mir leid.
Und mir ist gerade aufgefallen, dass ich noch einen Punkt vergessen habe. Ich möchte also schon so wie oben bei dem Beispiel Tibber mehrere Variablen unter einem Index stehen haben. Aber ich möchte auch mehrere Index’ mit jeweils wieder Variablen.
Sprich, im Array „Obst“ gibt es „Äpfel“ mit Menge, Preis und Sorte und „Birnen“ ebenfalls mit Menge, Preis und Sorten.
Woran ich aber konkret scheitere, wenn es bei „Äpfel“ Menge1 und Menge 2 geben soll (for-Schleife). Das ist vielleicht ganz konkret meine Frage.
Das Schlüsselwort Array habe ich jetzt weggelassen, aktuell nutzt man einfach die eckigen Klammer.
Ist dann vielleicht auch lesbarer und einfach zu verstehen.
Michael
Leider immer noch nicht. Das hatte ich schon so geschafft (soll jetzt nicht abwertend klingen), aber ich möchte eben nicht bei Äpfel noch Index(1), Index(2).
Was ich möchte, dass in der Kategorie Äpfel in einer for-Schleife, wo ich jeweils neue Werte für Menge und Sorte bekomme, diese dann direkt hintereinander mit z.B. dem Index der Loopvariable $i als Menge1=4, Menge2=9 … schreiben.
Äpfel
Menge1 4
Sorte1 Pink Lady
Menge2 9
Sorte 2 Schneewitchenapfel
Birnen
Menge1 7
Sorte1 Williams Christ
Dabei kommt der Index hinter Menge und Sorte jeweils vom $i aus der for-Schleife. Wenn ich das aber so versuche, dann durchläuft es zwar die for-Schleife, aber zum Schluss wird nur die letzte Menge und Sorte gespeichert. Aber eben nicht alle vorhergehenden.
Es geht um das Tibber Preis_Array.
Auszug:
[{„Ident“:„PT60M_T0_0“,„Price“:29.26,„Level“:„CHEAP“},
„Ident“:„PT60M_T0_1“,„Price“:28.59,„Level“:„CHEAP“},
{„Ident“:„PT60M_T0_2“,„Price“:28.26,„Level“:„CHEAP“},
{„Ident“:„PT60M_T0_3“,„Price“:28.110000000000003,„Level“:„CHEAP“},
…]
Das Array lese ich ein und möchte dort zum einen noch Informationen pro Zeile hinzufügen
Gleichzeitig möchte ich es aber auch verschlanken bzw. umbauen, dass ich eine Kategorie „Preislevel“ habe und dort $i=0 bis 23 als Uhrzeit jeweils nur die Wert für den Preis und Preislevel habe.
Preislevel
Preis 0 Uhr 25
Level 0 Uhr 1
Preis 1 Uhr 28
Level 1 Uhr 2
…
Diese Zeile in der for-Schleife bringt dann eben nur den Preis und das Level um 23 Uhr:
Du willst also kein Array, sondern 2x24 IP-Symcon Variablen entsprechend befüllen. Sonst kannst du sie ja garnicht anzeigen.
Wenn du es doch als Array aufbauen willst, macht es überhaupt keinen Sinn, das kompliziert mit sprechenden Namen zu machen, sondern schön aus Compiler-Sicht mit getrennten Feldern je dargestelltem Wert.
Solltest du weiterhin hier Codebausteine schreiben, stell doch bitte den JSON Part GetValue(43671) mit hier ein. Bitte darauf achten, dass das als ‚vorformartierter Text‘ eingestellt wird.
Vielleicht solltest du auf Foreach umsteigen.
Damit kannst du das Array durchlaufen.
Und wenn du die Variable als Referenz übergibst, kannst du sie auch direkt manipulieren.
foreach($Array as &$Line){
// Es gibt schon Ident, Price und Level
$Line['LevelAsInt'] = 2; // wir ergänzen LevelAsInt
}