PHP Walker サイトマップ | お問合せ | このサイトについて
 PHP ウォーカー
 
はじめに
PHP基本
日付・時刻
関数
・ユーザー定義関数(function)
・引数の値渡しと参照渡し
・変数の有効範囲(変数のスコープ)
・別ファイルを読み込む(require、include)

 引数の値渡しと参照渡し
通常、関数への引数は値を直接渡すため関数内で引数の値を変更しても、その後、関数の外では値に変化はありません。
しかし、関数に引数を渡す時、&$引数名 というふうに & をつけて渡すと関数内で引数の値を変更すると関数外でもその変更が反映されます。
ソースコード
function func1 ($arg1) {
    $arg1 = $arg1 * 2;
}

function func2 (&$arg1) {
    $arg1 = $arg1 * 2;
}

    $i = 10;
    func1($i);
    print "func1の後の \$i の値は" . $i . "です。<br>\n";
    func2($i);
    print "func2の後の \$i の値は" . $i . "です。<br>\n";
出力結果

func1の後の $i の値は10です。
func2の後の $i の値は20です。

func1 では関数内で引数の値が2倍になっていますが関数の後は変数 $i の値は変化なく「10」のままです。
func2 では引数に & をつけているので参照渡しとなり、関数内で値が2倍になると関数の後で $i の値は「20」となります。


サイトポリシー | 新着情報 | 掲示板 | お問合せ
Copyright © エンジニアウォーカー All Rights Reserved.