php自定義函數(shù)之參數(shù)的引用
在變量這個函數(shù)中,我們學(xué)習(xí)了變量的引用,我們來回顧一下知識:
<?php $a = 10; $b = &$a; $a = 100; echo $a.'---------'.$b; ?>
上訴知識點的在變量章節(jié)中,變量引用有講述,是指變量$a和$b指向到了同一個存儲位置,來存值。
而函數(shù)的參數(shù)引用,也是這個意思,將形參和實參指向到同一個位置。如果形參在函數(shù)體內(nèi)發(fā)生變化,那么實參的值也發(fā)生變化。我們來通過實驗來看看:
<?php $foo = 100; //注意:在$n前面加上了&符 function demo(&$n){ $n = 10; return $n + $n; } echo demo($foo).'<br />'; //你會發(fā)生$foo的值變?yōu)榱?0 echo $foo; ?>
通過上例,我們發(fā)現(xiàn)實參為$foo,在調(diào)用demo的時候,讓$foo和$n指向到了同一個存儲區(qū)域,當(dāng)$n的值發(fā)生變化的時候。那么$foo的值也發(fā)生變化。