ログイン



参照渡しと値渡し

値渡し
関数の引数は、通常は値渡し。関数内での値の変更は、呼び出し元に影響を与えない。

1
2
3
4
5
6
7
8
9
10
11
12
function adder($val){
    $val++;
    return $val;
}

$val = 1;
echo adder($val)."\n";
echo $val."\n";

実行結果
2
1

参照渡し
関数定義の仮引数に&をつけると参照渡しになり、呼び出し元の変数の値に影響を与える。

1
2
3
4
5
6
7
8
9
10
11
12
function adder(&$val){
    $val++;
    return $val;
}

$val = 1;
echo adder($val)."\n";
echo $val."\n";

実行結果
2
2

Leave a Reply