k01ken’s b10g

He110 W0r1d!

PHPの関数の引数への値渡しと参照渡し

開発環境はWindows10 Pro(64bit) + PHP 7.2.12。

関数の引数への値渡しの場合、関数内部で引数の値を変えても、元の変数に影響はないが、参照渡しの場合、関数内部で引数の値を変えると、元の変数も変更される。

参照渡しの場合は、関数内の引数の前に&(アンパサンド)をつける。

<?php
function value($a){
	$a = "modified";
}

function reference(&$a){
	$a = "modified";
}

$a = "test";
value($a);
echo $a."<br>";
reference($a);
echo $a;
?>

実行結果
f:id:k01ken:20181219210404p:plain


参考リンク
PHP: 関数の引数 - Manual