У меня есть массив объектов stdClass. Когда я назначаю одну переменную, она не копирует переменную, а вместо этого ссылается на исходную переменную. Мой код такой:
for ( $i = 0, $len = count($rows); $i < $len; $i++ )
{
$row = $rows[$i];
echo $rows[$i]->games;
$row->games = 'test';
echo $rows[$i]->games;
}
Первый эхо-сигнал выводит нормальное значение, а второй эхо-сигнал выдает «тест». Несмотря на то, что я устанавливаю свойство на $row
(которое должно быть скопировано), оно фактически устанавливает его для исходного элемента массива.
Почему это так, и как мне на самом деле создать копию, чтобы изменение копии не изменило оригинал?