PHP函式的引用傳遞(位址傳遞)

2022-08-15 07:30:14 字數 427 閱讀 3247

php中的引用:

在php中,變數名和變數內容是不一樣的,因此同樣的內容可以有不同的名字。在php中引用意味著用不同的名字訪問同乙個變數的內容。

比如:$a = 'hello world';

$b = $a;

echo $a,$b;

這說明了$a和$b指向同乙個變數。同乙個變數內容有不同的變數名,這就是引用。

函式的引用傳遞(傳值呼叫),我們先來乙個函式引用傳遞問題:

function test(&$a)

$a = $a+100;

$b = 1;

test($b);

echo $b;

最後的答案是101

test()函式傳遞的是位址,test($b)這裡的$b傳遞給函式的其實是$b的變數內容所處的記憶體位址,通過在函式裡改變$a的值就可以改變$b的值了

值傳遞 位址傳遞 引用傳遞

值傳遞使得實參與形參沒有聯絡,函式與函式之間沒有耦合性,在各自的函式裡修改值不會改變各自本身的值。但這也是它的缺陷。1.實參傳入被調函式無法交換數值。2.當傳入值大於8位元組即需要進行整體拷貝,無論是開闢的空間還是資料的拷貝都相對較大 這也是設計陣列退化為指標的原因 而指標傳遞只有4個位元組 所以需...

c 值傳遞 位址傳遞 引用傳遞

一.函式引數傳遞方式之一 值傳遞 1 值傳遞的乙個錯誤認識 先看題一中exchg1函式的定義 void exchg1 int x,int y 定義中的x,y變數被稱為exchg1函式的形式引數 問 你認為這個函式是在做什麼呀?答 好像是對引數x,y的值對調吧?請往下看,我想利用這個函式來完成對a,b...

C 值傳遞 位址傳遞 引用傳遞

昨天遇到乙個問題 程式一 char str 256 char sp str visitdepart rs,rs.column,sp static void visitdepart result t rs,int num,char spx note 這個程式表面上看是沒有錯誤的,但是,我用它做了樹的深...