Zur Navigation

Variablen mit Strings verbinden / Array

1 AndiN

Hallo Jörg,

ich suche für folgenden Quellcode die richtige Syntax:

for($i=0;$i<count(${$cookie."_array_Domizile"}[$t][19]);$i++)
{
...
}

prinzipiell sollte das dann so aussehen...

for($i=0;$i<count($de_array_Domizile[$t][19]);$i++)
{
...
}

Wie man Strings und Variablen zu einer Variable verknüpft weiß ich. Aber wenn diese neue Variable ein Array ist und ich es wie oben ansprechen möchte... da scheitere ich gerade.

07.11.2012 12:37

2 Jörg Kruse

$de_array_Domizile[$t][19] ist nicht nur ein Array-Element, sondern ist selbst ein Array?

Was genau meinst du mit "ansprechen"? Geht es um ein Element von $de_array_Domizile[$t][19] in der for Schleife?

07.11.2012 14:41 | geändert: 07.11.2012 14:44

3 AndiN

Ich habe die multidiemensionalen Arrays

$de_array_Domizile
$en_array_Domizile
$fr_array_Domizile

Je nach Inhalt der Variable $cookie möchte ich eines davon auslesen.
Ich muss also $cookie mit dem String "_array_Domizile" zu einer der o.g. drei Arrays verbinden. Ich könnte natürlich zwei Schritte draus machen indem ich Folgendes tue:

$array_lang_domizile = ${$cookie."_array_Domizile"};
for($i=0;$i<count($array_lang_domizile[$t][19]);$i++)
{
...
}

Mich würde interessieren ob/wie ich mir die 1. Zeile sparen kann.

08.11.2012 10:28

4 Jörg Kruse

Ich habe die multidiemensionalen Arrays

$de_array_Domizile
$en_array_Domizile
$fr_array_Domizile

Das ist schon klar - aber ist auch das Array-Element $de_array_Domizile[$t][19] ein Array? die Verwendung in der Schleifenanweisung legt das nahe, aber ich wollte zur Sicherheit nachfragen.

Ich nehme an, innerhalb der Schleife greifst du auf $array_lang_domizile[$t][19][$i] zu?

Die erste Zeile macht dann schon Sinn, weil du den Variablennamen dann nur einmal zusammenzubauen musst. Das ist weniger fehleranfällig und m.E. auch leichter zu lesen.

08.11.2012 10:44 | geändert: 08.11.2012 10:44

5 AndiN

Achso meinst du das. Ja so ist das wie du geschrieben hast.
Okay, dann schlüssle ich das in zwei Zeilen auf. Danke.

08.11.2012 10:48

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]