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