php自訂函數之參數的引用
在變數這個函數中,我們學習了變數的引用,我們來回顧一下知識:
<?php $a = 10; $b = &$a; $a = 100; echo $a.'---------'.$b; ?>
上訴知識點的在變數章節中,變數引用有講述,是指變數$a和$b指向了同一個儲存位置,來存值。
而函數的參數引用,也是這個意思,將形參和實參指向到同一個位置。如果形參在函數體內發生變化,那麼實參的值也會改變。我們來透過實驗來看看:
<?php $foo = 100; //注意:在$n前面加上了&符 function demo(&$n){ $n = 10; return $n + $n; } echo demo($foo).'<br />'; //你会发生$foo的值变为了10 echo $foo; ?>
透過上例,我們發現實參為$foo,在調用demo的時候,讓$foo和$n指向到了同一個儲存區域,當$n的值發生變化的時候。那麼$foo的值也會改變。