使用PHP将两个变量构建成一个变量名

6
根据当前页面,我想更改所选菜单模块的CSS,并使其他内容不同,等等。在加载页面之前动态构建所有这些。

我的问题是,我有一系列按以下结构命名的变量:

$css_(NAME_OF_MODULE)

为了知道必须设置哪个变量,我有另一个在该函数的参数中接收到的变量,称为:
$chosen_menu

假设$chosen_Menu = "C1",我想要添加内容到$css_C1。因此,我想要创建一个由两个变量命名的变量名,名为$css_C1

我尝试过:

${$css_.$chosen_menu} = "value";

但似乎它没有起作用。有任何提示吗?

为什么你使用 $css_ 而不是 $css? - dimme
为什么不呢?有什么理由不这样做吗?编辑:问题中有错误。 - Alexandre Bolduc
6
为什么不直接使用关联数组? - user395760
4个回答

5

那样可能不会奏效。但PHP支持完全的间接引用,因此像这样做是可以的。

$varName = $css."_".$chosen_menu;
$$varName = "value";

如果不这样做,它可能会尝试将$css_解释为第二个代码示例中的变量名称,因此只需将其更改为$css."_".$chosen_menu即可。

4
$nr = 1;        
       ${'name' . $nr} = 20 ;        
       var_dump($name1);   

2

0

我不确定我是否理解你的意思,但是这样怎么样:

${$css."_".$chosen_menu} = "value";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接