上一篇文章中我們了解了向函數傳遞參數中的按值傳遞,有需要的請看《php函數之如何按值傳遞參數? 》。這次我們向大家介紹向函數傳遞參數中的引用傳遞,有需要的可以參考參考。
我們先來看一個小例子,以便我們理解引用傳遞。
<?php function swap(&$a, &$b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>
輸出結果是
函数外,交换前 $x = 5, $y = 7 函数内,交换前 $a = 5, $b = 7 函数内,交换后 $a = 7, $b = 5 函数外,交换后 $x = 7, $y = 5
在這個例子中,我們可以看到在函數內部,值確實是交換的,而在函數外部,值也交換了。
這就是引用傳遞與上一篇文章的按值傳遞參數的區別。
參數參考傳遞是複製參數的記憶體位址,然後將其傳遞給函數的形式參數。參數和形式參數都指向相同的記憶體位址。因此,函數對形式參數的操作將影響函數外部的參數。
透過引用傳遞是將參數的記憶體位址傳遞給函數的形式參數。因此,參數和形式參數指向相同的記憶體位址。此時,函數內的所有操作都會影響函數外參數的值。參考轉移的方法是新增一個<strong>&</strong>
符號,如下:
function name (&参数1, &参数2, ..., &参数3) { ... }
同時這個符號也是引用傳遞
與按值傳遞參數
的區別。
引用傳遞就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學
#以上是php函數之如何引用傳遞參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!