foreach ループは元の配列のコピーを使用します。参照割り当て後に元の配列を変更できるのはなぜですか?
この段落は、foreach 操作が元の配列のコピーであることを証明できます。 さらに、元の配列は同期中に途中で失われ、元の配列の内部ポインタは 1 回だけ移動されました。 後続の操作すべてコピー上で実行される
参照代入を使用する場合、配列の参照状況は以下のようになります
辛抱強いご回答ありがとうございました
& 記号を追加した後は、元の配列のコピーは使用されません。アンパサンドがなければ、それは確かに元の配列のコピーです。アンパサンドの追加はポインターと同等であり、それに名前を割り当てるだけです。したがって、新しい配列を変更すると、元の配列も変更されます。 PHP 5 以降では、$value の前に & を追加することで配列のセルを簡単に変更できます。このメソッドは、値をコピーするのではなく、参照によって割り当てます。
アドレスを渡すシンボル&を追加すると、$aNewValue は配列内の各要素へのポインターになります。これは、元の配列を変更するのと同じです
&
PHP は書き込み時にコピーします。コピー時に値を指すために新しいポインターを使用するだけです。
これは変数への参照であり、2 つの変数は同じアドレスを指します。コピーを操作すると、元の配列も変更されます。
& 記号を追加した後は、元の配列のコピーは使用されません。アンパサンドがなければ、それは確かに元の配列のコピーです。アンパサンドの追加はポインターと同等であり、それに名前を割り当てるだけです。したがって、新しい配列を変更すると、元の配列も変更されます。
リーリーPHP 5 以降では、$value の前に & を追加することで配列のセルを簡単に変更できます。このメソッドは、値をコピーするのではなく、参照によって割り当てます。
アドレスを渡すシンボル
&
を追加すると、$aNewValue は配列内の各要素へのポインターになります。これは、元の配列を変更するのと同じですPHP は書き込み時にコピーします。コピー時に値を指すために新しいポインターを使用するだけです。
これは変数への参照であり、2 つの変数は同じアドレスを指します。コピーを操作すると、元の配列も変更されます。