是否可以简单地使用此代码...
echo $object->property1;
echo $object->property2;
echo $object->property3;
... 用这样的东西,用 eval ?
for ($i=0; $i<10; $i++)
echo eval("$object->property".$i);
谢谢。
您可以不使用动态创建属性名称eval()
:
$object = new stdClass();
$object->property1 = 10;
$object->property2 = 20;
$object->property3 = 30;
for ($i=1; $i<4; $i++)
echo $object->{"property".$i};
你不能做这样的事情:
for ($i=0; $i<10; $i++)
{
$tmp = "$object->property".$i
echo $$tmp;
}
我不确定动态变量是否在 OOPhP 中以这种方式应用,我看到了反对票 :-)
那么 $object 将超出 eval 函数的范围。您需要在 eval 字符串中定义对象。