★参照渡し
値渡しに大して、関数内で変数値を変更すると、それが呼び出し側にも反映される引数の渡し方を
参照渡しと呼びます。
そのような渡し方をするには、引数に「&」(アンパサンド)をつけて関数を宣言します。
下記の例は、値渡しの例に似ていますが、testfunc関数の宣言で引数に「&」をつけています。「呼び出し側」の
print分のうち、2回目でtestfunc関数の引数として変数$xを渡した場合の出力と、3回目でそのまま$xを出力した場合の
出力がともに「50」である点に注目してください。
例) print "関数側 " . $a . "<br>"; $a = $a * 10; print "関数側 " . $a . "<br>"; return $a; } $x = 5; print "呼び出し側 " . $x . <br>"; print "呼び出し側 " . testfunc($x) . <br>"; print "呼び出し側 " . $x .<br>"; ?> |