PHP Eval对象属性

时间:2013-05-23 09:32:28

标签: php eval

是否可以简单地使用此代码...

echo $object->property1;
echo $object->property2;
echo $object->property3;

......用这样的东西,用eval?

for ($i=0; $i<10; $i++)
    echo eval("$object->property".$i);

感谢。

3 个答案:

答案 0 :(得分:5)

您可以动态创建属性名称,而无需使用eval()

$object = new stdClass();
$object->property1 = 10;
$object->property2 = 20;
$object->property3 = 30;

for ($i=1; $i<4; $i++)
    echo $object->{"property".$i};

答案 1 :(得分:0)

好的$ object将超出eval函数的范围。您需要在eval字符串中定义对象。

答案 2 :(得分:0)

你不能做这样的事情:

for ($i=0; $i<10; $i++)
{
    $tmp = "$object->property".$i
    echo $$tmp;
}

我不确定动态变量是否在OOPhP中以这种方式应用,我看到即将到来的暗示: - )