phpで値を渡すと参照を渡す違いは何ですか?

PHPにおいて、値渡しと参照渡しは、パラメーターを渡す2つの方法です。

引数を値渡しで渡すと、関数は引数のコピーを作成してから関数に渡します。関数内で引数を変更しても元の変数には影響を与えません。

例えば、

function increment($num) {
    $num++;
}

$number = 5;
increment($number);
echo $number; // 输出 5

上記の例では、関数内で$numに対してインクリメント操作が行われていますが、元の$number変数には影響しません。

逆に、引数を参照渡しで渡すと、関数は元の変数の参照を受け取り、元の変数を直接変更できます。

例えば、

function increment(&$num) {
    $num++;
}

$number = 5;
increment($number);
echo $number; // 输出 6

パラメータを参照渡しに設定するには、引数の前に&記号を付けることで、例示された手法を用いることができます。これにより、関数内での$numの増加操作が直接元の$number変数に影響を及ぼします。

まとめると、値渡しの場合は関数がパラメータをコピーしており、元の変数に影響を与えません。一方、参照渡しの場合は関数が元の変数の参照を受け取り、元の変数を直接変更できます。

bannerAds