php函式引用傳遞引數的方法
首先來看一個小例子,便於我們理解引用傳遞。
function swap(&$a, &$b){ echo '函式內,交換前 $a = '.$a.', $b = '.$b.' '; $temp = $a; $a = $b; $b = $temp; echo '函式內,交換後 $a = '.$a.', $b = '.$b.' '; } $x = 5; $y = 7; echo '函式外,交換前 $x = '.$x.', $y = '.$y.' '; swap($x, $y); echo '函式外,交換後 $x = '.$x.', $y = '.$y; ?>
在這個例子中,我們可以看到在函式內部,值確實是交換的,而在函式外部,值也交換了。
引數引用傳遞是複製引數的記憶體地址,然後將其傳遞給函式的形式引數。引數和形式引數都指向相同的記憶體地址。因此,函式對形式引數的操作將影響函式外部的引數。
透過引用傳遞是將引數的記憶體地址傳遞給函式的形式引數。因此,引數和形式引數指向相同的記憶體地址。此時,函式內的所有操作都會影響函式外引數的值。參考轉移的方法是新增一個&符號,如下所示:
function name (&引數1, &引數2, ..., &引數3) { ... }
同時這個符號也是引用傳遞與按值傳遞引數的區別。
以上就是php函式引用傳遞引數的方法,希望對大家有所幫助。更多php學習指路:
本文轉載於php中文網,如有侵犯聯絡作者修改。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4650/viewspace-2828740/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python的函式引數傳遞:傳值?引用?Python函式
- 函式的引數傳遞函式
- 如何計算PHP函式中傳遞的引數數量PHP函式
- JavaScript函式傳遞引數JavaScript函式
- python中函式的引數傳遞Python函式
- 函式作為引數傳遞函式
- 函式引數傳遞及返回函式
- js中 函式引數的 傳值/傳引用 問題JS函式
- ABAP 方法呼叫的引數傳遞裡,透過引用傳遞的方式,能修改原始引數值嗎?
- 引數傳遞方式必須是const引用傳遞
- Python語法—函式及引數傳遞Python函式
- 【C語言】函式的概念和函式的呼叫(引數傳遞)C語言函式
- php函式之如何用預設引數和可變長度引數方式傳遞?PHP函式
- Python3之函式的引數傳遞與引數定義Python函式
- JS的方法引數傳遞(按值傳遞)JS
- JavaScript為事件處理函式傳遞引數JavaScript事件函式
- Golang中函式傳參存在引用傳遞嗎?Golang函式
- PHP中物件的引用傳遞PHP物件
- 面試官問:Go 中的引數傳遞是值傳遞還是引用傳遞?面試Go
- 『無為則無心』Python函式 — 26、Python函式引數的傳遞方式Python函式
- Golang 切片作為函式引數傳遞的陷阱與解答Golang函式
- Go語言引數傳遞是傳值?還是傳引用 ?Go
- Python引數傳遞,既不是傳值也不是傳引用Python
- GridView傳遞兩個引數的方法View
- 二級指標,二維陣列函式引數傳遞指標陣列函式
- C#程式設計:ref【引數按引用傳遞】C#程式設計
- c# 方法引數(傳值,傳引用,ref,out,params,可選引數,命名引數)C#
- C語言函式傳遞指標引數的問題詳解C語言函式指標
- 函式中引數傳值函式
- (求教)關於js函式按值、引用傳遞的問題JS函式
- Go 之基礎速學 (五) golang 裡函式以及函式之間引數的傳遞Golang函式
- go語言引數傳遞到底是傳值還是傳引用Go
- 傳遞函式函式
- 引數傳遞
- 遞迴函式,可變引數列表遞迴函式
- PHP 函式可變數量的引數列表PHP函式變數
- 將函式作為引數傳遞解決非同步問題函式非同步
- Java方法04:命令列傳遞引數、可變引數Java命令列