PHP对象的动态命名

时间:2009-01-26 06:54:45

标签: php

如何为php对象动态分配名称?

例如,我如何将对象分配给var,该var是我用来创建对象的db行的id。

例如

$<idnum>= new object();

其中idnum是我数据库中的id。

4 个答案:

答案 0 :(得分:13)

您可以使用双美元符号创建一个变量,其名称为另一个变量的值,例如:

$idnum = "myVar";

$$idnum = new object(); // This is equivalent to $myVar = new object();

但要确保你真的需要这样做,如果你没有足够的照顾或滥用这个“功能”,你的代码会变得非常混乱......

我认为你可以更好地使用数组或散列表,而不是用动态创建的变量来污染全局命名空间。

答案 1 :(得分:5)

这个小片段对我有用

$num=500;
${"id$num"} = 1234;
echo $id500;

基本上只需使用花括号括起变量名称并添加$;

答案 2 :(得分:4)

您可以这样做:

${"test123"} = "hello";
echo $test123; //will echo "hello"

$foo = "mystring";
${$foo} = "a value";
echo $mystring; //will echo "a value";

答案 3 :(得分:1)