php - 有没有办法以编程方式存储 PHP 中对象的 'address' 属性?

标签 php

假设我在 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/

相关文章:

PHP 字符串在插入变量后跳到下一行?

php - 从常规数组创建一个具有相同键和值的关联数组

php - JSON 中的关联数组解码

php - 以不同方式显示字符串

javascript - PHP 无法接收使用 jquery 发送的数据。导致 php 文件中 undefined variable

php - Composer 找不到类并加载它们

php - Woocommerce - 尝试提取订单的运费

php将多维数组内爆到制表符分隔行

php - 如何用换行符回显文本区域的输入?

javascript - 导出Excel时如何修复此表?