中級 › 配列を別の変数に代入するとコピーされる(参照ではない) › パターン1
配列を別の変数に代入するとコピーされる(参照ではない)
PHPの配列はオブジェクトと違い、代入すると中身がまるごとコピーされます。
1 <?php 2 $a = [3, 1, 2]; 3 $b = ________; ^ 4 sort($b); 5 echo implode(",", $a) . " / " . implode(",", $b);
出力: 1,2,3 / 1,2,3期待: 3,1,2 / 1,2,3 (エラーにはなりません)
空欄を埋めて実行を通す
&$aで参照渡しにすると$bは$aと同じ配列を指すため、sort($b)が$aまで並べ替えてしまいます。単に$aと書けば値がコピーされ、元の配列は影響を受けません。
次の問題