2012-08-31 54 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};