2016-04-13 7 views
0

Ich habe eine Variable $var, die nur eingestellt werden kann, sagen wir a oder b. Ich habe zwei globale Arrays, z.B. $aNames und $bNames. Schließlich gibt es noch eine Variable $number. Um alles zusammenzubringen, möchte ich die Werte kombinieren, um ein Element aus dem Array zu erhalten.Wert der Variablen einbetten, um neue Variable zu bilden

Beispiel:

$var = 'a'; 
$number = 2; 
$el = "$$var"."Names[".$number."]"; 

$el == $aNames[2] // true 

Aber ich bin nicht sicher, wie die erste $el Linie zu schreiben, ohne es als String interpretiert wird.

+1

Sie nehmen nicht die Warnung bewerten, aber das ist nicht die richtige Art zu tun, was immer du versuchst g zu tun. Vielleicht ein mehrdimensionales Array verwenden. – AbraCadaver

+0

@AbraCadaver Ich schätze den Kommentar; Ich bin hier um zu lernen. Jede Seite hat einige Variablen (in meinem Beitrag zum Beispiel '$ var' und' $ number'), und basierend darauf möchte ich die URL zur vorherigen Seite zurückgeben (das gleiche '$ var', aber' $ number-1'). Als Lösung habe ich dann keine bessere Lösung gefunden als die Seiten in einem Array, z. '$ aNames = array ('step-1.php', 'step-2.php', 'step-3.php');' und somit den richtigen Dateinamen erhalten. Gibt es einen besseren Weg? –

+0

OK, Sie haben eine gute Antwort für dieses spezielle Problem. Wenn Sie eine neue Frage mit Details stellen, gibt es einen besseren Weg als die Variablen $$ var – AbraCadaver

Antwort

1

tun Dies würde:

$el = ${$var.'Names'}[$number]; 

Beispiel:

<?php 
$aNames[2] = 10; 
$var = 'a'; 
$number = 2; 
$el = ${$var.'Names'}[$number]; 
echo $el; //10 

und jetzt

$el == $aNames[2] 

wird auf true

Verwandte Themen