我继承了一个代码库,在其中我发现了一些精炼和“煮沸”的版本,如下所示
$json = '[ {"id": 1, "val":"apple"}, {"id": 2, "val":"mango"} ]';
$data = json_decode($json);
$arr = [];
foreach($data as $d){
$m->id = $d->id;
$m->val = $d->val;
$arr[] = $m;
}
print_r($arr);
结果
Array
(
[0] => stdClass Object
(
[id] => 2
[val] => mango
)
[1] => stdClass Object
(
[id] => 2
[val] => mango
)
)
我的问题是为什么当前的迭代会对它的前任产生任何影响?
PHP 版本:7.2
编辑:如果问题看起来与 json 有关,但事实并非如此,我深表歉意,相反,在我的代码库中,我有这些对象来自另一个称为函数的对象。我使用 json_decode 只是为了说明问题
当年话下