首頁 後端開發 php教程 php中函數參數傳遞的3種方式與區別(附詳解)

php中函數參數傳遞的3種方式與區別(附詳解)

Jun 08, 2020 am 10:57 AM

php中函數參數傳遞的3種方式與區別(附詳解)

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影片教學

以上是php中函數參數傳遞的3種方式與區別(附詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

11個最佳PHP URL縮短腳本(免費和高級) 11個最佳PHP URL縮短腳本(免費和高級) Mar 03, 2025 am 10:49 AM

11個最佳PHP URL縮短腳本(免費和高級)

在Laravel中使用Flash會話數據 在Laravel中使用Flash會話數據 Mar 12, 2025 pm 05:08 PM

在Laravel中使用Flash會話數據

Instagram API簡介 Instagram API簡介 Mar 02, 2025 am 09:32 AM

Instagram API簡介

簡化的HTTP響應在Laravel測試中模擬了 簡化的HTTP響應在Laravel測試中模擬了 Mar 12, 2025 pm 05:09 PM

簡化的HTTP響應在Laravel測試中模擬了

構建具有Laravel後端的React應用程序:第2部分,React 構建具有Laravel後端的React應用程序:第2部分,React Mar 04, 2025 am 09:33 AM

構建具有Laravel後端的React應用程序:第2部分,React

php中的捲曲:如何在REST API中使用PHP捲曲擴展 php中的捲曲:如何在REST API中使用PHP捲曲擴展 Mar 14, 2025 am 11:42 AM

php中的捲曲:如何在REST API中使用PHP捲曲擴展

在Codecanyon上的12個最佳PHP聊天腳本 在Codecanyon上的12個最佳PHP聊天腳本 Mar 13, 2025 pm 12:08 PM

在Codecanyon上的12個最佳PHP聊天腳本

Laravel中的通知 Laravel中的通知 Mar 04, 2025 am 09:22 AM

Laravel中的通知

See all articles