PHPで”参照渡し”を使う例
変数の参照渡し
$a = 'foo';
$b =& $a; //$bは$aと同じ値を指す
$b = 'bar'; //$bを変更すると$aも変更される
echo $a; //=> 'bar'
echo $b; //=> 'bar'
関数の戻り値
//値への参照を返す関数
function &func() { //関数名の頭に「&」をつける
$var = 'PHP';
return $var;
}
$a =& func(); //関数の戻り値を受け取るときにも「&」をつける
関数の引数
//引数を参照渡しで受け取る関数
function func(&$value) { //引数の頭に「&」をつける
$value++;
}
$a = 1;
func($a);
echo $a; //=> 2
foreach文の値
$ary = array(1, 2, 3);
foreach($ary as &$value){ //参照で受け取る
$value++; //配列の値を変更できる
}
print_r($ary); //=> Array ( [0] => 2 [1] => 3 [2] => 4 )