php自訂函數(shù)之參數(shù)的引用
在變數(shù)這個函數(shù)中,我們學(xué)習(xí)了變數(shù)的引用,我們來回顧一下知識:
<?php $a = 10; $b = &$a; $a = 100; echo $a.'---------'.$b; ?>
上訴知識點(diǎn)的在變數(shù)章節(jié)中,變數(shù)引用有講述,是指變數(shù)$a和$b指向了同一個儲存位置,來存值。
而函數(shù)的參數(shù)引用,也是這個意思,將形參和實(shí)參指向到同一個位置。如果形參在函數(shù)體內(nèi)發(fā)生變化,那麼實(shí)參的值也會改變。我們來透過實(shí)驗(yàn)來看看:
<?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)實(shí)參為$foo,在調(diào)用demo的時候,讓$foo和$n指向到了同一個儲存區(qū)域,當(dāng)$n的值發(fā)生變化的時候。那麼$foo的值也會改變。