php 參數

php 參數,通過參數列表可以傳遞信息到函式,即以逗號作為分隔設定的表達式列表。

基本介紹

  • 中文名:php 參數
  • 含義:通過參數列表可以傳遞信息到函式
  • 屬性:數學公式
  • 用途:函式計算
簡介,通過引用傳遞參數,默認參數的值,可變長度參數列表,

簡介

php 支持按值傳遞參數(默認),通過引用傳遞以及默認參數。可變長度參數列表僅在 php 4 和後續版本中支持;更多信息請參照可變長度參數列表和涉及到的相關函式func_num_args()func_get_arg()以及func_get_args()。php 3 中通過傳遞一個數組參數可以達到類似的效果:
例子 17-5. 向函式傳遞數組
<?phpfunction takes_array($input){ echo "$input[0] + $input[1] = ", $input[0]+$input[1];}?>

通過引用傳遞參數

預設情況下,函式參數通過值傳遞(因而即使在函式內部改變參數的值,它並不會改變函式外部的值)。如果希望允許函式修改它的參數值,必須通過引用傳遞參數。
如果想要函式的一個參數總是通過引用傳遞,可以在函式定義中該參數的前面預先加上符號 &:
例子 17-6. 用引用傳遞函式參數
<?phpfunction add_some_extra(&$string){ $string .= 'and something extra.';}$str = 'This is a string, ';add_some_extra($str);echo $str; // outputs 'This is a string, and something extra.'?>

默認參數的值

函式可以定義 C++ 風格的標量參數默認值,如下:
例子 17-7. 函式中默認參數的用途
<?phpfunction makecoffee($type = "cappuccino"){ return "Making a cup of $type./n";}echo makecoffee();echo makecoffee("espresso");?>php 還允許使用數組和特殊類型 NULL 作為默認參數,例如:
例子 17-8. 使用非標量類型作為默認參數
<?phpfunction makecoffee($types = array("cappuccino"), $coffeeMaker = NULL){ $device = is_null($coffeeMaker) ? "hands" : $coffeeMaker; return "Making a cup of ".join(", ", $types)." with $device./n";}echo makecoffee();echo makecoffee(array("cappuccino", "lavazza"), "teapot");?>默認值必須是常量表達式,不是(例如)變數,類成員,或者函式調用。
請注意當使用默認參數時,任何默認參數必須放在任何非默認參數的右側;否則,可能函式將不會按照預期的情況工作。考慮下面的代碼片斷:
例子 17-9. 函式默認參數不正確的用法
<?phpfunction makeyogurt($type = "acidophilus", $flavour){ return "Making a bowl of $type $flavour./n";}echo makeyogurt("raspberry"); // won't work as expected?>現在,比較上面的例子和這個例子:
例子 17-10. 函式默認參數正確的用法
<?phpfunction makeyogurt($flavour, $type = "acidophilus"){ return "Making a bowl of $type $flavour./n";}echo makeyogurt("raspberry"); // works as expected?>注:自 php 5 起,默認值可以通過引用傳遞。

可變長度參數列表

php 4 及更高版本已經在用戶自定義函式中支持可變長度參數列表。這個真的很簡單,用func_num_args()func_get_arg(),和func_get_args()函式。

相關詞條

熱門詞條

聯絡我們