PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable verketten und direkt ausgeben



markwaldhoff
09-09-2005, 10:17
Ich habe ein kleines Problem, wobei mir hier bestimmt jemand helfen kann... :D

Also ich habe vodefinierte Variablen:


$VN1 = "DKV EURO SERVICE Benelux VOF";
$VN1_TEL = "+31 (0) 2 xx / xx 5x 6x";
$VN1_FAX = "+31 (0) x 5x2 / XX XX XX";

$VN2 = "DKV EURO SERVICE UK LTD";
$VN2_TEL = "+31 (0) 2 x2 / 4x x2 xx";
$VN2_FAX = "+31 (0)x12 5 / 4x 3x2 1x";

$VN7 = "Solred, S.A.";
$VN7_TEL= " +34 (0) 9 0x / 1x1 3x7";
$VN7_FAX = "+34 (0) 9 0x / 1x62 17";

und so weiter... (ca. 15 verschiedene VN's)



Die Struktur der Variablen ist immer dieselbe VN(+Nummer)...
Jetzt möchte ich anstatt einer großen Switch Anweisung mit ca. 15 Case-Fällen einfach so etwas in der Art schreiben:



echo "$VN.$adressbean->vn"
echo "$VN.$adressbean->vn._TEL"
echo "$VN.$adressbean->vn._FAX"

Auf diese Weise geht das aber leider nicht... habs schon auf verschiedene Weisen (andere Anführungszeichen gesetzt, Klammern gesetzt usw...) versucht, aber ich bekomme das nicht hin...

Problem ist das ich mit echo die Variable $VN ausgebe... die gibt es aber nicht... deshalb muss zu dem $VN zuerst die Zahl angehängt werden (aus $adressbean->vn) und dann muss die zusammegesetzt Variable ausgegeben werden... für das echo sollte es so aussehen:


echo "$VN1<br>";
echo "Telefon: $VN1_TEL<br>";
echo "Telefax: $VN1_FAX<br>";

Wie gesagt... die Zahlen (in dem oberen Beispiel die "1") bekomme ich aus der variable $adressbean->vn ...


Ich weiß nicht ob ich das einleuchtend erklärt habe... könnt Ihr mir vielleicht helfen ??????? :confused:

Pingu
09-09-2005, 11:01
Die Dokumentation findest Du hier: http://de.php.net/manual/de/language.variables.variable.php


$tel = "VN" . $adressbean->vn . "_TEL";
$fax = "VN" . $adressbean->vn . "_FAX";

echo $$tel;
echo $$fax;

Pingu

BLUESCREEN3D
09-09-2005, 14:42
So wie Pingu das beschrieben hat würde das zwar gehen, aber ich würde dir die Nutzung eines Arrays empfehlen.

Entweder ein zweidimensionales Array das alle Daten enthält oder jeweils für die drei Daten eigene eindimensionale Arrays.

Das ganze könnte dann mit einem zweidimensionalen Array so aussehen:

$VN=array();

$VN[0]=array();
$VN[0]['name'] = "blablabla";
$VN[0]['tel'] = "+123";
$VN[0]['fax'] = "+456";
usw. für die anderen Einträge

zur Anzeige:

echo $VN[$adressbean->vn]['name'];
echo $VN[$adressbean->vn]['tel'];
echo $VN[$adressbean->vn]['fax'];

markwaldhoff
12-09-2005, 07:06
Die Dokumentation findest Du hier: http://de.php.net/manual/de/language.variables.variable.php


$tel = "VN" . $adressbean->vn . "_TEL";
$fax = "VN" . $adressbean->vn . "_FAX";

echo $$tel;
echo $$fax;

Pingu

Das funktioniert einwandfrei !!! Vielen Dank !!! ...auch für den Link !