假设我在 PHP 中有一个对象 $o,我可以得到 $o->a->b,或者 $0->c['d']。
有没有办法将这些存储为地址以便在其他地方处理?
我所拥有的是,在几个不同的地方我需要处理对象的不同属性,但以相同的方式。
所以我想做的是在我进行过程中构建一个地址集合,然后将它们全部交给一个函数,该函数会遍历所有地址并进行处理。
例如:
$o->a = '红色';
$o->b->c = '红色';
$o->d['e'] = '红色';
...我想将所有“红色”更改为“绿色”,但这些特定的键和属性可能会根据情况而变化。
最佳答案
你可以这样做:
$propertyName = 'a';
$o->$propertyName = 'green';
但不是这个:
$propertyName = 'b->c';
$o->$propertyName = 'green';
或者,您可以创建对变量的引用,如下所示:
$a[] = & $o->a;
$a[] = & $o->b->c;
$a[] = & $o->d['e'];
foreach ($a as $key => $color) {
$a[$key] = 'green';
}
关于php - 有没有办法以编程方式存储 PHP 中对象的 'address' 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4957232/