PHP动态命名和访问变量

时间:2012-08-02 01:55:41

标签: php variables

$var1 = 'First Variable';
$var2 = 'Second Variable';
$var3 = 'Third Variable';

$number = 2;

$variable_to_get = 'var'.$number;

让我们说你想根据$ number的数量回显一个变量;例如在这种情况下$ number是2所以我们想要回显$ var2。如果不使用switch语句/ ifs,你将如何做到这一点;只是直接命名变量并显示结果?

5 个答案:

答案 0 :(得分:3)

变量

echo ${'var'.$number};

答案 1 :(得分:1)

不确定,大括号可能吗? $ {'var'。$ number}只是一个猜测

答案 2 :(得分:1)

你最好使用数组。

$var = array(
   'first variable',
   'second variable',
   'third variable',
);

所以你会得到$var这样的:

array (
    [0] => 'first variable',
    [1] => 'second variable',
    [2] => 'third variable',
) 

然后获取值:

$variable_to_get = $var[$number-1];

$number应为-1,因为数组在索引0上开始。

另一种方法,你可以直接指定其索引。

$var[1] = 'first variable'
$var[2] = 'second variable'
$var[3] = 'third variable'

但如果您真的想要使用

进行访问
$var1 = 'First Variable';
$var2 = 'Second Variable';
$var3 = 'Third Variable';

$number = 2;

$variable_to_get = 'var'.$number;

尝试使用eval

答案 3 :(得分:0)

$var = array('First Variable','Second Variable','Third Variable');


$variable_to_get = 'var'.$var[0]; // returns First Variable

$variable_to_get = 'var'.$var[1]; // returns Second Variable

答案 4 :(得分:0)

您可以使用double $$作为第二个变量中的字符串访问变量名称。 第二个访问变量字符串,第一个访问名为字符串的变量:

$foo = 'bar';
$bar = 'foo';

echo $$foo; // echoes foo

意味着你的情况:

$var1 = 'First Variable';
$var2 = 'Second Variable';
$var3 = 'Third Variable';

$number = 2;

$variable_to_get = 'var'.$number; //will contain the string 'var2'

echo $$variable_to_get; //echoes 'Second Variable'