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的值也會改變。


繼續學習
||
<?php $foo = 100; //注意:在$n前面加上了&符 function demo(&$n){ $n = 10; return $n + $n; } echo demo($foo).'<br />'; //你会发生$foo的值变为了10 echo $foo; ?>