1

このコードを単純にすることは可能ですか...

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

...このようなもので、evalで?

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

ありがとう。

4

3 に答える 3

6

を使用せずにプロパティ名を動的に作成できますeval()

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

for ($i=1; $i<4; $i++)
    echo $object->{"property".$i};
于 2013-05-23T09:37:27.760 に答える
0

$object は eval 関数の範囲外になります。eval 文字列内でオブジェクトを定義する必要があります。

于 2013-05-23T09:34:19.140 に答える
0

このようなことはできませんか:

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

OOPhPで動的変数がそのように適用されているかどうかはわかりません.反対票が来るのがわかります:-)

于 2013-05-23T09:36:15.087 に答える