陳春暉
摘要:
本文通過總結幾個小例子,初步分析了PHP語言中的函數參數的傳遞,函數返回值的確定,等,給出了一些簡單的結論。
關鍵詞:
函數;傳遞;返回值
中圖分類號:
TP312.1
文獻標識碼:
A
文章編號:
1672-9129(2020)15-0198-01
函數傳遞參數通常有三種方式,第一種方式,按值傳遞,這里定義了一個函數,test,函數有兩個參數,parm1、parm2。接下來調用這個函數同樣有兩個參數$foo和$boo,在調用函數的時候,PhP會默認將$foo的值賦值$parm1,$boo值賦值給$parm2,這個過程就像神奇的印度飛餅,不管你傳遞多少個參數,函數會按照參數的先后順序一一接收。
例如調用者的第一個參數$foo的值賦給函數的第一個參數,$boo的值賦給第二個參數parm2,如果有第3個第4個也是一一這樣的對應的關系。
按值傳遞的方式就是將函數調用者中的參數,以從左到右的順序依次復制給函數的參數,然后執行函數體內的代碼,這就是按值傳遞的方式,也是最常見的方式。
接下來看一下第二種傳遞的方式:按引用傳遞。之前我們在學習變量的時候,學習過按引用賦值,按引用傳遞的參數與按引用賦值是一樣的。我們再來回顧一下,在這個例子中定義了一個$name變量,將其賦值為函數測試,然后將$name這個變量按引用的方式賦值給$membername使用了地址符號。
在內存中的情況是只有一個函數測試這個值,$name和$membername,他們同時指向函數測試,這個值的地址。當函數測試值發生變化的時候,$name的值和$membername的值同時發生變化,這就是按引用傳遞。在函數中按引用傳遞,就是將參數的內存地址傳遞到函數中,即在參數前面加一個地址符號。我們來舉例說明一下,按值傳遞和按引用傳遞的區別。
在鄉村愛情故事中,趙四獲得了村委會的任職,村委會給他安排了一間自己的辦公室,于是他弄了一份圖紙,設計了一個這樣的辦公室。此時劉能看到了趙四的辦公室,真好看,于是他想方設法弄到了肇事的處置。按照這張圖紙,他建造了一間一模一樣的辦公室,這種根據圖紙能夠創建一模一樣的辦公室的方式,就相當于按值傳遞方式。不久以后,由于村委會經濟拮據,所以決定將劉能和趙四安排在同一個辦公室,即他們兩個共用這一個辦公室。這時候趙四和劉能他們兩個之間又開始相互影響了,這種方式就是按引用傳遞的方式,即使在函數的內部,所有的操作都會影響到調用者參數的值。
在填寫網站的一些個人信息的時候,我們通常會在性別來有男女和保密三個選項,如果你不選擇男或女,通常我們將其默認為保密,下面就實現這個功能。假如說我輸入張三,然后我們來運行一下,在瀏覽器中輸入網址,0212,看到提示信息中給我們報了錯誤,這里有個警告,說音符的函數缺少第二個參數。
我們來看一下,這里有兩個參數$name和$gender,而我們在調用的時候只賦了一個初值張三,所以他給我們報了一個提示信息,缺少第二個參數,要加一個男。
Functioninfo($name,$gender)
{
Echo“$name”;
}
Info(“張三”);
再來輸入一下。張三。這是正常了。現在要實現一個功能,不輸入男或女,而顯示保密,這應該怎么做呢?當然你也可以使用ifelse語句來判斷,不是男不是女,然后選擇保密。這里我們使用更簡單的方式,對于這個參數,我們為其賦一個初值,這樣在我們不使用第二個參數的時候,就會為其賦值為保密。
再來看一下,張三,第一個參數張三,第二個參數難輸出的時候,張三男第一個參數里是第二個參數沒有,默認的情況下就是保密這種為參數賦一個初始值的方式,就是函數的默認參數形式。
函數的返回值,我們已經知道可以通過參數向函數傳遞信息,不過函數還可以向它的調用者發回信息,首先程序運行到調用者的時候,根據調用者名稱找到函數,這時控制權轉移到函數,函數執行函數體內的代碼,執行完畢以后,通過return語句將返回值返回給調用者,這樣控制權再次回到了調用者。
結語:這里是對函數參數傳遞及返回值的一些簡單探討,如有錯漏,歡迎指正。
參考文獻:
[1]PHP程序設計(慕課版).程文彬,李樹強2016
[2]PHP網站開發實例教程(第2版)黑馬程序員2020
[3]PHP動態網站程序設計(第2版).唐四薪.2020
[4]web動態網站開發技術.郭玲.2019
[5]PHP動態網站開發項目教程.牟奇春.汪劍.2016