php における値渡しと参照渡しの違いは、値渡しは関数のスコープ内であり、変数値のサイズを変更しても関数外の変数値には影響しません。参照は関数のスコープ内にあり、値への変更は関数の外部にも反映されます。渡された参照はメモリ アドレスを渡します。
違い:
php 値の受け渡し: 関数のスコープ内で変数値のサイズを変更しても、外部の変数には影響しません。関数の値。
PHP 参照渡し: 参照渡しはメモリ アドレスを渡すため、関数のスコープ内では、値への変更は関数の外部にも反映されます。
(学習ビデオの推奨: java ビデオ チュートリアル)
値の受け渡し: コピーと同じです。たとえば、私は家を持っています。私はあなたに建築資材をあげます。あなたは私とまったく同じ家を建てます。あなたが家で何をしても私には影響しません。私が家で何をするかは私には影響しません。何も影響しません。あなたに影響を与えますが、それらは互いに独立しています。
<?php $testa=1; //定义变量a $testb=2; //定义变量b $testb = $testa; //变量a赋值给变量b echo $testb; //显示为1 ?>
参照渡し: C言語のポインタに似ており、感覚的にはほぼ同じです。たとえば、私には家があります。私があなたに鍵を渡せば、私たち二人とも家に入ることができます。あなたが家の中で何をしても私に影響します。
<?php $param2=1; //定义变量2 $param1 = &$param2; //将变量2的引用传给变量1 echo $param2; //显示为1 $param1 = 2; //把2赋值给变量1 echo $param2; //显示为2 ?>
[長所と短所:] 値の受け渡しは、特に大きな文字列やオブジェクトの場合、時間がかかります。これは、参照の転送や関数内のあらゆる操作など、非常にコストのかかる操作になります。変数の転送操作、大きな変数を転送する場合に効率的です!
関連する推奨事項: php トレーニング
以上がPHPでの値渡しと参照渡しの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。