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