ホームページ >バックエンド開発 >PHPチュートリアル >PHP での参照によるパラメーターの受け渡しの概要: & 記号の使用方法

PHP での参照によるパラメーターの受け渡しの概要: & 記号の使用方法

WBOY
WBOYオリジナル
2023-06-27 13:13:111533ブラウズ

PHP は、パラメータを渡す 2 つの方法 (値による受け渡しと参照による受け渡し) をサポートする一般的なプログラミング言語です。値による受け渡しでは、ある変数の値が別の変数にコピーされますが、参照による受け渡しでは、ある変数のメモリ アドレスが別の変数にコピーされます。この記事では、PHP 参照パラメータの使用法、特に & 記号の使用法を紹介します。

パラメータの参照渡しの基礎

PHP では、変数を関数に渡すことで、変数の値を変更したり返したりできます。このプロセスは、値渡しまたは参照渡しによって実行できます。値渡しでは、関数は変数の値をコピーしますが、参照渡しでは、関数は元の変数を使用します。

パラメータを参照渡しするための基本的な構文は次のとおりです:

function &example(&$parameter){

// code to modify $parameter
return $parameter;

}

この関数では、 & は渡された参照を表します。$parameter は関数のパラメーターです。この関数は、$parameter 変数への参照を返します。ご覧のとおり、関数定義ではパラメーター名の前に & 記号があり、このパラメーターが参照パラメーターであることを意味します。

& 記号の使用例

& 記号の使用例をいくつか見てみましょう。

// 值传递的例子
function foo($var){
    $var = 2;
} 

$a = 1;
foo($a);
echo $a; // 输出:1

// 引用传递的例子
function bar(&$var){
    $var = 2;
} 

$a = 1;
bar($a);
echo $a; // 输出:2

この例では、foo() 関数は値を渡す関数であり、bar() 関数は参照を渡す関数です。 foo($a) が実行されると、$a の値が $var にコピーされるため、$var の値は 1 になります。関数内では $var の値は 2 に設定されていますが、$var はローカル変数であるため、その変更は $a の元の値には影響しません。

bar($a) を実行すると、$a のメモリアドレスが $var にコピーされます。したがって、関数内では、変数 $var は $a の値をコピーするのではなく、$a のメモリ アドレスを参照します。関数内で $var の値が 2 に設定されると、$a 変数の値も 2 に変更されます。

ご覧のとおり、& 記号を使用すると、変数を関数へのポインターとして渡すことができます。これにより、関数が元の変数の値を変更できるようになり、プログラム全体に可変状態を渡すことができます。

& 記号は変数にのみ適用でき、式には適用できないことに注意してください。たとえば、次のコードには構文エラーが発生します。

$var = 1;
// 以下代码将会出现语法错误
function foo(1 &$var){ 
    $var = 2;
}

概要

この記事では、パラメータを渡す PHP リファレンスの基本的な知識、特に & 記号の使用について紹介しました。パラメーターを参照渡しすると、関数内の変数の値を変更できるため、プログラム内で変更可能な状態を渡す必要がある場合に便利です。 & 記号は変数にのみ適用でき、式には適用できないことに注意してください。この記事が読者にとって役立つことを願っています。

以上がPHP での参照によるパラメーターの受け渡しの概要: & 記号の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。