PHPにおける配列の参照渡し
PHPでは、他のプログラミング言語とは異なり、 配列も参照渡しではなくコピーされます。
これを確認してみましょう:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = $arr1;
$arr2[0] = '!';
var_dump($arr1); // 変更されない
?>
次に、配列を参照渡しするように強制してみます:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr2[0] = '!';
var_dump($arr1); // 変更される
?>
以下のコードを実行した結果を説明してください:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = $arr1;
$arr2[0] = '!';
echo $arr1[0];
echo $arr2[0];
?>
以下のコードを実行した結果を説明してください:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr1[0]++;
echo $arr1[0];
echo $arr2[0];
?>
以下のコードを実行した結果を説明してください:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr1[0]++;
$arr2[0]++;
echo $arr1[0];
echo $arr2[0];
?>