ホームページ  >  記事  >  毎日のプログラミング  >  PHPで値を渡すには、値渡しと参照渡しの2つの方法があります。

PHPで値を渡すには、値渡しと参照渡しの2つの方法があります。

**熬夜选手
**熬夜选手オリジナル
2020-04-30 19:05:30395ブラウズ

PHPにおける値の受け渡しと参照の受け渡しの違い

値による変数の受け渡しとは、ある変数の値を別の変数に「渡す」ことを意味します。

データを転送するには、値の転送参照の転送の 2 つの方法しかありません。デフォルトでは、PHP は値の受け渡しを使用します。

これら 2 つの転送方法の違いを見てみましょう:

値の転送:

は、右側の変数の「データ値」のコピーを作成し、それを変数に代入します。左側の変数

値渡しプロセス中、呼び出される関数の仮パラメータは呼び出される関数のローカル変数として扱われます。つまり、スタック内にメモリ空間が開かれ、値を格納します。呼び出し関数によって入力された実際のパラメータ。つまり、実際のパラメータのコピーになります。値転送の特徴は、呼び出される関数の仮パラメータに対する操作はすべてローカル変数として実行され、呼び出し元関数の実パラメータ変数の値には影響を与えないことです。

例:

$v1 = 1;
$v2 = $v1;

値が渡された後、2つの変数は互いに影響を与えず、互いに独立しています

<?php
//值传递
$v1 = 10;
$v2 = $v1;
echo "v2的值为:".$v2;//10
$v1 = 11;
echo "<br>v2的值为:".$v2;//10

PHPで値を渡すには、値渡しと参照渡しの2つの方法があります。

参照渡し:

は参照関係を渡すことです右側の変数と左側のデータの間 変数

の参照渡しプロセス中、呼び出される関数の仮パラメータもローカル変数としてスタック内のメモリ空間を開きますが、実際のパラメータはこのとき、呼び出した関数による変数のアドレスが格納されます。仮パラメータに対する呼び出された関数の操作はすべて、間接アドレス指定として処理されます。つまり、呼び出し関数内の実際のパラメータ変数には、スタックに格納されているアドレスを介してアクセスされます。このため、呼び出される関数が仮パラメータに対して実行する操作は、呼び出し元の関数に影響を与えます。

<?php
//引用传递
$v1 = 10;
$v2 = &$v1;
echo "v2的值为:".$v2;//10
$v1 = 11;
echo "<br>v2的值为:".$v2;//11

PHPで値を渡すには、値渡しと参照渡しの2つの方法があります。

概要:

ここで検討する主な問題は、値渡しと参照渡しに似た問題です。値を渡すことはメモリ空間を再度開くことであり、これは元の値をコピーすることと同等であり、元の値とは独立していることを理解してください。参照 (ポインター) を渡すと、元のメモリー ブロックにポインターが追加されるだけです。参照の値が変更されると、ポイントされたメモリー アドレスの値が変更され、ポイントされたすべての参照が変更されます。

以上がPHPで値を渡すには、値渡しと参照渡しの2つの方法があります。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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