我知道我可以循环访问PHP对象并获取其成员的值,如下所示:
class MyObject {
public $one = 1;
public $two = 2;
public $three = 3;
function getMemberValues() {
foreach($this as $memb => $value) {
echo $value." ";
}
}
}
$o = new MyObject();
$o->getMemberValues();
// prints 1 2 3
但我想要做的是遍历成员并为每个成员分配一个值。
我无法弄清楚它的语法。
$this[$memb] = 111;
不起作用,因为你得到了
Cannot use object of type MyObject as array
错误,
$this->$memb
显然无效。
这可能吗?
非常感谢
答案 0 :(得分:2)
答案 1 :(得分:1)
和
$这 - > $ MEMB
显然无效。
你试过吗?它对我来说看起来非常有用。
foreach ($this as $memb => $val) {
$this->$memb = 'toto';
}
上面的代码应该可以正常运行。
答案 2 :(得分:0)
也许
function getMemberValues() {
foreach($this as &$value) {
$value = $newval;
}
}
答案 3 :(得分:0)
http://php.net/manual/en/function.get-object-vars.php
function getMemberValues()
{
echo implode(' ', get_object_vars($this));
}