php値伝達と参照伝達の違い
4197 ワード
: , , .
: , , , .
値転送(例demo)
1 php
2 function test($i){
3 $i++;// i 1
4 $a=$i;// i a
5 return $a;// a
6 }
7
8 $i=5;// i
9 echo $i.'
';// :5
10 echo test($i).'
';// :6
11 echo $i;// :5
リファレンス転送(例demo)
1 php
2 function test(&$i){
3 $i++;// i 1
4 $a=$i;// i a
5 return $a;// a
6 }
7
8 $i=5;// i
9 echo $i.'
';// :5
10 echo test($i).'
';// :6
11 echo $i;// :6
適用シーン:
(1)値が伝達する場合、phpは値をコピーする必要がある.
(2)参照伝達は値をコピーする必要がないため、参照伝達は一般的に大きな文字列やオブジェクトに用いられる.
メリットとデメリット:
(1)伝達に時間がかかる、特に大きな文字列やオブジェクトにとっては大きなコストとなる.
(2)伝達参照は、関数内のいずれの操作も伝達変数に対する操作と同等である、大型変数を伝達する際の効率が高い.
転載先:https://www.cnblogs.com/cxx8181602/p/9413108.html