PHP では、関数にパラメータを渡す方法によって、関数が変数にアクセスする方法が決まります。値渡しでは変数のコピーが作成されますが、参照渡しでは元の変数が直接操作されます。 PHP 8 では参照型ヒントが導入され、参照によって渡されるパラメーターを明示的に指定できるようになりました。値渡しは元の値を変更しない関数に適しており、参照渡しは元の値を変更する必要がある関数に適しています。
PHP 関数のパラメータの受け渡し方法と参照変数の関係
PHP では、関数が決定する 関数が、渡された変数にどのようにアクセスするかを説明します。パラメーターを渡すには、主に 2 つの方法があります: 値による受け渡し と 参照による受け渡し 。
値渡し
変数が値によって関数に渡されると、変数のコピーが作成され、関数に渡されます。これは、関数が変数のコピーに対して動作し、コピーに加えられた変更は元の変数に影響を与えないことを意味します。
function add_one($num) { $num++; // 对副本进行更改 } $x = 10; add_one($x); // 传递变量副本 echo $x; // 输出 10(原始变量保持不变)
参照渡し
変数が参照によって関数に渡されると、関数は元の変数に対して直接動作します。関数内の変数に加えられた変更は、元の変数に反映されます。
function add_one(&$num) { $num++; // 对原始变量进行更改 } $x = 10; add_one($x); // 传递变量引用 echo $x; // 输出 11(原始变量被修改了)
上の例では、add_one()
関数は引数 $num
を参照によって渡します。関数が $num
をインクリメントすると、元の変数 $x
が直接変更されます。
参照変数の型ヒント
PHP 8 では参照型ヒントが導入され、関数パラメータを参照渡しして明示的に指定できるようになりました。 #& プレフィックスを使用すると、パラメーターが参照によって渡される必要があることを示します。
function add_one(int &$num) { $num++; }
$num を
add_one() 関数に渡すときは、参照によって渡す必要があります。参照渡ししない場合は、エラーが発生します。
以下は、
値渡しおよび参照渡し
:#の実践的なケースです。
##値渡し:
#sort()
や
参照渡し: データベース レコードまたはファイル システムの内容を更新する関数では、元の変数を直接操作する必要があります。
以上がPHP関数のパラメータの受け渡し方法と参照変数の関係は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。