PHP 配列: 値渡しか参照渡し?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-08 21:16:10771ブラウズ

PHP Arrays: Pass by Value or Pass by Reference?

PHP での配列の処理: 値または参照による受け渡し

PHP で配列を操作する場合、新しい配列に割り当てられたときに配列がどのように処理されるかを理解する変数または関数に渡すことが重要です。

配列代入

配列を変数に代入するとき ($b = $a など)、PHP は常に値のコピーを実行します。これは、新しい変数 ($b) に加えられた変更は元の配列 ($a) には影響せず、その逆も同様であることを意味します。元の配列への参照を作成する必要がある場合は、参照演算子 ($b =& $a) を使用する必要があります。

関数への配列の受け渡し

の場合配列は引数として関数に渡され、通常は値によってコピーされます。これは、関数内で行われた変更は元の配列を変更しないことを意味します。配列を参照渡しするには、パラメータの前に & 記号を付けて関数を宣言する必要があります (例: function my_func(& $a))。

コード例

これを説明するために、次の PHP コードを考えてみましょう:

function my_func($a) {
    $a[] = 30;
}

$arr = array(10, 20);
my_func($arr);
var_dump($arr);

出力 (渡される)値):

array
  0 => int 10
  1 => int 20

出力 (参照によって渡される):

array
  0 => int 10
  1 => int 20
  2 => int 30

示されているように、関数内で行われた変更は、次の場合にのみ配列に影響します。参照によって渡されます。

以上がPHP 配列: 値渡しか参照渡し?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。