ホームページ >バックエンド開発 >PHPチュートリアル >PHP 変数の割り当て: 値渡しと参照渡しの違い
変数とは、プログラムの実行中に値が変更される可能性がある量を指します。これは、値を保存して便利に呼び出すために使用されます。ただし、PHP で変数に値を代入する方法は 2 つあります。転送と参照転送では、変数に値を割り当てる方法が異なります: 値の転送と参照転送の違い
まず、値の転送を見てください:
値の転送メソッドは変数に値を割り当てます。これは最も一般的に使用されるメソッドであり、デフォルトのメソッドです。例を使用して説明しましょう:
<? header("content-type:text/html;charset=utf-8"); //设置编码 echo "值传递的方式"; echo "<hr/>"; $var1= "PHP"; $var2=$var1; echo $var1."<hr/>"; echo $var2; ?>
コードの実行結果:
上記の例からわかるように、値の転送は、現在の変数の値を別の変数に転送することであり、コピー操作と同等です。変数は互いに独立しています。1 つの変数の値を変更しても、もう 1 つの変数の値は変わりません。次の例を参照してください。
見てみましょう。以下の引用符 Pass参照の割り当てでは、参照を表すために「&」を使用します。参照代入の使用 1 つの変数の値を変更すると、もう 1 つの変数の値も変更されます。
例
<? header("content-type:text/html;charset=utf-8"); //设置编码 echo "值传递的方式"; echo "<hr/>"; $var1= "PHP"; $var2=$var1; echo $var1."<hr/>"; echo $var2."<hr/>"; echo "<p>改变其中一个变量的值,另一个不会有变化</p>"; $var2="HTML"; echo $var1."<hr/>"; echo $var2."<hr/>"; ?>
コードの実行結果:
この時点では、2 つの変数は変更されていませんが、一方の値を変更するとどうなるでしょうか?
<? header("content-type:text/html;charset=utf-8"); //设置编码 echo "引用传递的方式"; echo "<hr/>"; $var1= "PHP中文网"; $var2=&$var1; echo $var1."<br/>"; echo $var2."<br/>"; ?>
コードの実行結果:
参照渡しメソッドを使用して、1 つの変数の値を変更すると、もう 1 つの変数も変更されます。
概要
上記の例のいくつかを通じて、
値転送と参照転送の違いは次のとおりであると結論付けることができます:値転送は、元の変数の内容をコピーし、新しいメモリ空間を使用してそれを保存することです。 . は互いに独立しており、参照による受け渡しは、現在の変数に別名を与えることと同じです。実際、2 つの変数は同じ値を参照します。これは、変数に 2 つの名前を付けることと同じです
[関連する推奨事項]関連ビデオチュートリアルの推奨事項:
変数の代入: 値の転送と参照の転送の違い以上がPHP 変数の割り当て: 値渡しと参照渡しの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。