ホームページ  >  記事  >  バックエンド開発  >  PHPでの値渡しと参照渡しの違い

PHPでの値渡しと参照渡しの違い

(*-*)浩
(*-*)浩オリジナル
2019-10-09 14:22:303098ブラウズ

php 値の転送: 関数スコープ内で変数値を変更しても、関数外の変数値には影響しません。

PHP 参照による: メモリ アドレスは参照によって渡されるため、関数スコープ内では、値への変更は関数の外部にも反映されます。

PHPでの値渡しと参照渡しの違い

値を渡す: はコピーと同じです。 [たとえば、私は家を持っています。私はあなたに建築資材をあげます。あなたは私とまったく同じ家を建てます。あなたが家で何をしても私には影響しません。私が家で何をするかは私には影響しません。何もありません。相互に独立してあなたに影響を与えます。 】 (推奨学習: PHP ビデオチュートリアル )

<?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 中国語 Web サイトの他の関連記事を参照してください。

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