2012-08-31 59 views
1
$service3_step1_person = ‘999’;  
echo $service3_step1_person; //999 

,然後的名字......構建PHP變量

$service = "service3";  
echo "$".$service."_step1_person; //$service3_step1_person 

它不給我,只是給我的$service3_step1_person的字符串。

如何讓字符串變成新的變量名?謝謝!

+5

雖然這是可以做到(見別人的答案),它類似於一個'的eval()',而不是真正的好實踐。查找其他方式來存儲和訪問價值。例如'$ service [3] [「step」] [「person」]' – slim

+1

它被稱爲變量變量,參見http://docs.php.net/language.variables.variable。但數組通常更容易完成/更靈活。在你的情況下,可能像$ services [3] ['steps'] [1] ['person']。 – VolkerK

回答

5
echo ${$service."_step1_person"}; 
2

可變變量:

$service3_step1_person = ‘999’; 
$service = "service3"; 
$variableName = "{$service}_step1_person"; 
echo $$variableName; // 999 
+1

用$$ variableName替換$$變量。 。這將給出確切的輸出:) – kushalbhaktajoshi

0

試試這個:

$service = "service3"; 
$temp = "_step1_person"; 
echo ${$service.$temp};