对象属性上的PHP求值
是否可以简单地使用此代码对象属性上的PHP求值,php,eval,Php,Eval,是否可以简单地使用此代码 echo $object->property1; echo $object->property2; echo $object->property3; 。。。用这样的东西,用eval for ($i=0; $i<10; $i++) echo eval("$object->property".$i); 谢谢。那么$object将超出eval函数的范围。您需要在eval字符串中定义对象 那么$object将超出eval函数的范围。您需
echo $object->property1;
echo $object->property2;
echo $object->property3;
。。。用这样的东西,用eval
for ($i=0; $i<10; $i++)
echo eval("$object->property".$i);
谢谢。那么$object将超出eval函数的范围。您需要在eval字符串中定义对象 那么$object将超出eval函数的范围。您需要在eval字符串中定义对象 你不能这样做吗:
for ($i=0; $i<10; $i++)
{
$tmp = "$object->property".$i
echo $$tmp;
}
我不确定在OOPhP中是否以这种方式应用了动态变量,我看到下面的投票结果:-您不能这样做吗:
for ($i=0; $i<10; $i++)
{
$tmp = "$object->property".$i
echo $$tmp;
}
我不确定在OOPhP中是否以这种方式应用了动态变量,我看到下面的投票结果:-您可以不使用eval动态创建属性名称:
您可以在不使用eval的情况下动态创建属性名称:
为什么不从一开始就将属性定义为数组?对象是drupal节点,我不能!你为什么要这样做?目的是什么?为什么在这里需要eval,使用eval只是为了将3行代码减少到2行代码,这在可读性、性能开销和被巨型蟑螂吃掉的风险方面都是一个巨大的代价?我在这里简化了很多,但我对每个属性[数字]都有大量的代码要做,我想把这段代码放在for循环中,以避免重复。为什么不从一开始就将属性定义为数组?对象是drupal节点,我不能!你为什么要这样做?目的是什么?为什么在这里需要eval,使用eval只是为了将3行代码减少到2行代码,这在可读性、性能开销和被巨型蟑螂吃掉的风险方面都是一个巨大的代价?我在这里简化了很多,但我对每个属性[数字]都有大量的代码要做,我想把这段代码放在一个for循环中,以避免重复。非常感谢,太完美了!非常感谢,太好了!