如何将字符串与变量连接起来并将其用作另一个变量?

How can I concatenate a string with a variable and use it as another variable?

提问人:Paulcraey 提问时间:5/1/2015 最后编辑:Rizier123Paulcraey 更新时间:5/1/2015 访问量:224

问:

我有一个变量,它可以是: .我还有其他 3 个变量。$language"en", "nl", or "fr"$menu_en, $menu_fr and $menu_fr

我有一个 php 页面,我希望菜单以 3 种语言中的任何一种显示。

我试过了这个:

echo '$menu_' . $language;

我想要的是结果是 的值,而不是字符串。$menu_en$menu_nl

我该怎么做?eval() 可以提供帮助吗?

php 字符串 变量

评论

0赞 Mark Baker 5/1/2015
变量
0赞 Mike 5/1/2015
@MarkBaker 我有一种感觉,这不是OP所要求的
0赞 Mike 5/1/2015
OP:我想你想做:。当您将单引号括起来时,它不会被解析为 PHP。echo $menu . $language;

答:

4赞 Reversal 5/1/2015 #1

使用一个怎么样?array

$menu = array("en" => "Hi!", "it" => "Ciao!", "es" => "Hola!");

$language = "en";
echo $menu[$language]; // this will print Hi!
echo $menu["it"]; // will print Ciao!

数组上的一些参考:http://php.net/manual/it/language.types.array.php

3赞 user2182349 5/1/2015 #2

您可以使用变量变量 - 如下所示:

$menuVar = 'menu_'.$language;
echo $$menuVar;

请注意双美元符号。

编号: http://php.net/manual/en/language.variables.variable.php

评论

0赞 user2182349 5/1/2015
Reversal 提出的数组建议是一个更好的解决方案。
0赞 Scopey 5/1/2015
字符串中的美元符号不是必需的,这意味着您实际上将引用名称以美元符号开头的变量。