我有一个stdClass对象数组。当我将其中一个分配给一个变量时,它并没有复制变量,而是引用了原始变量。我的代码如下:
for ( $i = 0, $len = count($rows); $i < $len; $i++ )
{
$row = $rows[$i];
echo $rows[$i]->games;
$row->games = 'test';
echo $rows[$i]->games;
}
第一个echo输出正常的值,但第二个echo输出"test"。尽管我在$row
上设置属性(应该复制),但实际上它是在原始数组元素上进行设置。
为什么会这样,并且我如何创建一个副本,以便修改副本不会修改原始内容?