$var1 = 'First Variable';
$var2 = 'Second Variable';
$var3 = 'Third Variable';
$number = 2;
$variable_to_get = 'var'.$number;
假设您想根据 $number 是什么来回显一个变量;例如,在这种情况下,$number 是 2,所以我们想要回显 $var2。如果不使用 switch 语句/ifs,你将如何做到这一点;只是直接命名一个变量并显示结果?
变量变量
echo ${'var'.$number};
不确定,可能是牙套?${'var'.$number} 只是一个猜测
你最好使用数组。
$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
$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
您可以使用双 $$ 来访问变量名称作为第二个变量中的字符串。第二个访问变量字符串,第一个访问名为字符串的变量:
$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'