ホームページ >バックエンド開発 >PHPチュートリアル >PHP は配列の受け渡しと参照による代入をどのように処理しますか?
PHP での引数の受け渡しと配列の割り当て
PHP の重要なデータ構造である配列は、通常、関数に渡されるか、変数に割り当てられます。ただし、これらの操作が基になる参照にどのような影響を与えるかを理解することが重要です。
関数の引数としての配列
配列が関数の引数として渡されると、デフォルトではコピーとして渡されます。これは、関数が元の配列を変更せずにコピー自体を操作することを意味します。関数が配列に変更を加えたとします。これらの変更は、関数が参照によって動作するように明示的に指示されていない限り、関数の外部にある元の配列には反映されません。
function my_func($a) { $a[] = 30; } $arr = array(10, 20); my_func($arr); var_dump($arr); // Output: array(10, 20)
配列を参照によって渡し、関数が元の配列を変更できるようにするには、次のようにします。関数は次のように宣言する必要があります:
function my_func(& $a) { $a[] = 30; }
これで、関数内で行われた変更は、関数の外側の元の配列に反映されます。 function.
配列の代入
配列を新しい変数に代入する場合、参照演算子 & が使用されない限り、代入により配列の新しいコピーが作成されます。これは、元の配列と新しく割り当てられた変数が別々であり、一方に加えられた変更は他方には影響しないことを意味します。
$a = array(1, 2, 3); $b = $a; $b[] = 4; // $a still contains the original array (1, 2, 3)
参照によって代入するには、参照演算子 & を使用する必要があります。
$a = array(1, 2, 3); $b = & $a; $b[] = 4; // Both $a and $b now contain (1, 2, 3, 4)
以上がPHP は配列の受け渡しと参照による代入をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。