HOWTO · PHP
PHP 変数は参照によって渡されます
このチュートリアルでは、PHP で参照によって変数を渡す方法を示します。
このページの内容
変数はデフォルトで値によって関数に渡されますが、PHP では参照によって渡すこともできます。このチュートリアルでは、PHP で参照を渡す方法を示します。
PHP 変数は参照によって渡されます
PHP で参照によって変数を渡すために、変数引数の先頭にアンパサンド記号&が追加されます。たとえば、function(&$a) では、グローバルと関数の両方の変数の目標は、同じ参照概念を使用して定義されているため、グローバル値になることです。
グローバル変数が変更されるたびに、関数内の変数が変更され、その逆も同様です。参照渡しの構文は次のとおりです。
function FunctionName(&$Parameter){
//
}
ここで、FunctionName は関数の名前であり、Parameter は参照によって渡される変数です。これは、PHP で参照を渡すための簡単な例です。
<?php
function Show_Number(&$Demo){
$Demo++;
}
$Demo=7;
echo "Value of Demo variable before the function call :: ";
echo $Demo;
echo "<br>";
echo "Value of Demo variable after the function call :: ";
Show_Number($Demo);
echo $Demo;
?>
上記のコードは、関数 Show_Number で参照により変数 Demo を渡します。出力を参照してください:
Value of Demo variable before the function call :: 7
Value of Demo variable after the function call :: 8
アンパサンド記号がある場合とない場合で、参照渡しする別の例を試してみましょう。例を参照してください:
<?php
// Assigning the new value to some $Demo1 variable and then printing it
echo "PHP pass by reference concept :: ";
echo "<hr>";
function PrintDemo1( &$Demo1 ) {
$Demo1 = "New Value \n";
// Print $Demo1 variable
print( $Demo1 );
echo "<br>";
}
// Drivers code
$Demo1 = "Old Value \n";
PrintDemo1( $Demo1 );
print( $Demo1 );
echo "<br><br><br>";
echo "PHP pass by reference concept but exempted ampersand symbol :: ";
echo "<hr>";
function PrintDemo2( $Demo2 ) {
$Demo2 = "New Value \n";
// Print $Demo2 variable
print( $Demo2 );
echo "<br>";
}
// Drivers code
$Demo2 = "Old Value \n";
PrintDemo2( $Demo2 );
print( $Demo2 );
echo "<br>";
?>
上記のコードは、変数の値を変更するために使用される 2つの関数を作成します。変数がアンパサンド記号&で参照によって渡されると、関数が同時に呼び出され、変数の値が変更されます。
同様に、アンパサンド記号&なしで参照によって渡される場合、変数の値を変更するために関数を呼び出す必要があります。出力を参照してください:
PHP pass by reference concept ::
New Value
New Value
PHP pass by reference concept but exempted ampersand symbol ::
New Value
Old Value