我有一个变量:
$a="t123";
我有另一个名为的变量:
$t123;
我无法直接调用varibale $t123
,因为numaric值是可更改的。
我想要这样:
$new = $.$a; //NOT working.
任何解决方案?感谢。
答案 0 :(得分:4)
所谓的“变量变量”应该可以解决问题:
$new = $$a;
这基本上将$a
的值替换为用于赋值的变量名。
可以在文档中找到更多信息:
http://php.net/manual/en/language.variables.variable.php
就我个人而言,我根本不喜欢变量变量而且往往会避免使用它们,因为它对我来说感觉像是一种奇怪的魔法。 我宁愿使用更“官方”的键/值对解决方案,比如可以用作字典的数组或对象。但话说再说一遍,我使用多种语言,而PHP只是侧面,所以看起来很奇怪,对于全职的PHP开发人员来说可能很常见。
答案 1 :(得分:2)
这称为变量变量。有几种方法可以做到这一点,I.E:
方法1:
$new = ${$a};
方法2:
$new = $$a;
我倾向于比方法2更频繁地使用方法1,因为我发现更容易真正理解正在发生的事情以及特定线路正在做什么。
这两种方法中的任何一种都会使$new
等于名为$a
的变量的值。
您可以阅读有关变量变量here的更多信息。