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
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook