Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对象属性上的PHP求值_Php_Eval - Fatal编程技术网

对象属性上的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循环中,以避免重复。非常感谢,太完美了!非常感谢,太好了!