您好,登錄后才能下訂單哦!
這篇文章給大家分享的是php中函數參數傳遞的三種方式。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
1.按值傳遞(pass by value)
使用這種方式,調用函數本省不對實參進行操作,也就是說,即使形參的值在函數中發生了變化,實參的值也完全不會受到影響,仍為調用前的值。這相當于把實參賦值一份給形參,然后調用后內存回收。
<span style="font-size:18px;"><strong>#include<stdio.h> int sum(int x,int y) { return x+y; } int main() { int result=sum(2,3);//通過直接對sum傳遞參數 printf("%d\n",result); return 0; }</strong></span>
2.地址傳遞(pass by pointer)
地址傳遞與按值傳遞的不同在于,它把實參的存儲地址傳送給對應的形參,從而使得形參指針和實參指針指向同一個地址。因此,被調用函數中對形參指針所指向的地址中內容的任何改變都會影響到實參。
#include<stdio.h> int sum(int* x,int* y) { return *x+*y; } int main() { int a,b; a=2; b=3; int result=sum(&a,&b);//通過地址對sum傳遞參數 printf("%d\n",result); return 0; }
3.引用傳遞(pass by reference)
以引用為參數,則既可以使得對形參的任何操作都能改變相應的數據,又使得函數調用顯得方便、自然。引用傳遞方式是在函數定義時在形參前面加上引用運算符“&”。引用相當于實參的別名,他和實參是同一個變量或數值,它的改變就是實參的改變。
<span style="font-size:18px;"><strong>#include<stdio.h> int sum(int& x,int& y)<span style="color:#ff0000;">//定義引用類型</span> { return x+y; } int main() { int a,b; a=2; b=3; int result=sum(a,b);//通過引用對sum傳遞參數 printf("%d\n",result); return 0; }</strong></span>
看完上述內容,你們對php中函數參數傳遞的三種方式以及他們的區別大概了解了嗎?如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。