什麼叫形參和實參?
(已經百度,感覺沒說清楚,或者我沒聽懂)。
舉個例最好了。
回複內容:
什麼叫形參和實參?
(已經百度,感覺沒說清楚,或者我沒聽懂)。
舉個例最好了。
PHP不太瞭解,但我可以用C給你解釋,原理相同。
形參,形式參數。表示你的函數裡所要用的參數的類型和名字。
比如
void fn(int a, int b){ return a+b;}
這裡面的a和b就是形參,它代表的是函數所用的參數的形式。
而實參更好理解了,實際參數,也就是你執行這個函數時真正使用的參數。
c = fn(1,2);
這裡面的1和2就是實參。
形參就是函數為要傳入的值準備的一個外殼,而實參就是最後傳入形參,也就是塞進那個殼裡的實際的值,在函數內你可以使用外殼訪問殼內的值
形參和實參,可以簡單從字面上理解:那就是走形式的參數;和實際的參數;
例子理解:
function sum($a, $b = 1) { return $a + $b; // $a, $b 為形參}sum(1, 2); //1,2 為實參的值sum(1); // 此處未定義$b的值,所以會調用預設值1;但調用該函數。實參僅僅是$a
更深入理解
function params() { return func_get_arg(); // 形參一個都沒有,但可以通過func_get_arg()函數擷取實參數}params(1, 2, 3, 4, ....); // 此處調用函數,但函數並未指定參數(形參);但我同樣可以傳參數(而且數量不限制),此實體的參數即為實參
形參佔位,實參傳值
形參當然還用來限制式呼叫時資料的類型和個數
就是傳地址和傳值的區別
既然是舉例子,我就不擺那些自己都看不懂的理論了,高中的定義域和定義域中的值,還有印象嘛?實參好比定義域中的值,形參好比定義域。求大神輕拍
function dosomething($a 形參){
$b = $a 實參;
}
當你寫一個函數時,函數需要的參數是形參
當你調用一個函數時,函數用到的參數是實參
function foo($a) {}
此時$a有值嗎?沒有,所以是形參。
$b = 5;
此時$b有值嗎?有,所以是實參。