替换对象中的项目?

时间:2014-06-18 13:38:14

标签: php loops foreach

我循环浏览一个对象:

foreach ($data as $asset) {

    $asset->test = 'test';
}

测试存在于$ data中,并设置为其他内容,我希望将其替换为' test'。

以上无效。我哪里错了?

2 个答案:

答案 0 :(得分:1)

您应该使用与&

foreach ($data as &$asset)相同的引用循环
foreach ($data as &$asset) 
{
    $asset->test = 'test';
}

引用循环将对$data产生影响,否则只有当前$asset个对象发生变化。

答案 1 :(得分:0)

您可以考虑使用已经存在的函数,例如可以执行函数的array_walk。

function test_exists(&$asset) {
    $asset->test = "test";
}

array_walk($data, "test_exists");