PHPで値を関数に渡す方法は?

PHPで値渡しではなく参照渡しを行う方法は2種類あり、&記号を使う方法と参照パラメータを使う方法があります。

  1. 関数定義時に、パラメータの前に&記号をつけると、パラメータが参照渡しであることを表す。例えば、
function increment(&$num) {
    $num++;
}

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

上記の例では、$num変数をパラメーターとしてincrement関数に渡し、関数内で$numを操作しています。引数は参照渡しされているので、関数内の$numの変更は元の$num変数にも影響することがあります。

  1. パラメータを定義するときは、参照パラメータとしてパラメータを宣言します。たとえば:
function increment($num) {
    $num++;
}

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

上記のようなケースでは、変数$num は & 記号を使用して increment 関数の引数に渡されます。関数内での $num の変更は、元となった変数$num にも影響を与えます。

PHP5以降では、参照引数は推奨されなくなった点に注意する必要がある。というのも、PHP5では変数への参照渡しは自動的に処理されるからである。したがって、1つめの方法が&記号を用いている方法が推奨される。

bannerAds