14
私はstdClassオブジェクトの配列を持っています。変数に1を代入すると、変数をコピーするのではなく、元の変数を参照します。私のコードは次のようなものです:PHPで変数のコピーをどのように明示的に作成しますか?
for ($i = 0, $len = count($rows); $i < $len; $i++)
{
$row = $rows[$i];
echo $rows[$i]->games;
$row->games = 'test';
echo $rows[$i]->games;
}
最初のエコーは通常の値を出力しますが、2番目のエコーは "テスト"を出力します。 $row
(コピーする必要があります)にプロパティを設定していても、実際には元の配列要素に設定されています。
なぜこれが問題なのですか。実際にコピーを作成すると、コピーを変更してもオリジナルは変更されません。