我有以下问题:我想修改对象的元素。 访问元素的工作方式如下:
foreach($ob as $element){echo $element->id;}
如果我也这样做
foreach($ob as $element){$element->id='XYZ';}
但这不会保存到对象中
我尝试了以下操作:
foreach($ob as &$element){$element->id='XYZ';}
但是在这种情况下,出现以下错误:
迭代器不能与按引用的foreach一起使用
实际上$ ob是一个Cakephp查询对象,看起来像:
[
(int) 0 => object(App\Model\Entity\Document) {
'id' => (int) 26,'name'=>'Fax'}
(int) 1 => object(App\Model\Entity\Document) {
'id' => (int) 26,'name'=>'Email'}
]
并且我想修改ID。
谢谢您的帮助。
答案 0 :(得分:0)
我经常处理对象数组。
最适合我的是常见的for()
循环
$iobcount = count($ob);
for($iob = 0; $iob < $iobcount; $iob++)
$ob[$iob]->id = 'XYZ';