Jollen's PHP 專欄「2.05 函數的宣告與呼叫」裡的所有文章!

  

44. 如何定義一個函數?

jollen 發表於 October 27, 2006 3:56 PM

在 PHP 裡定義函數的語法是利用 function 關鍵字,底下是一個簡單的例子: <?php function add($x, $y) { return $x+$y; } ?> 這個範例宣告一個名為 add 的函數,並且有兩個傳入值與一個傳回值。要注意的是,因為 PHP 是直譯式 (Interrupt) 語言,所以函數必須在第一次被呼叫之前宣告,否則會出錯。...

45. 什麼是 call by reference

jollen 發表於 October 27, 2006 3:57 PM

在 PHP 裡如果要傳遞參考 (call by address) 的話,有 2 種做法: 1. 呼叫函數時在變數前加上 &,例如: add(&$x, $y); 此時 add() 的寫法沒有什麼不同: function add($x, $y) { $x += $y; } 2. 在函數的參數加上 &,例如: function add(&$x, $y) { $x += $y; } 呼叫時的寫法: add($x, $y); 這裡有...

46. 自訂函數的參數預設值

jollen 發表於 October 27, 2006 3:57 PM

在設計函數時,為了避免呼叫函數時沒有傳入參數值,因此我們可以替函數的參數加上預設值,例如: <?php function add($x = 0, $y = 0) { return $x+$y; } echo add(); ?> 因為呼叫 add() 時沒有傳入值,因此最後的輸出結果為: 0 呼叫函數時,如果沒有加上傳入值,則使用預設值。重要的是,如果只為某些參數加上預設值,加上預設值的參數必須全部靠右: <?php function add($x, $y = 1, $z = 2) { return $x+$y+$z; } echo add(5); ?> 結果: 8 底下都是錯誤的寫法:...

47. 如何設計可變長度參數的函數?

jollen 發表於 October 27, 2006 3:57 PM

PHP 4 新支援了可變長度的參數用法 (Variable-length argument lists),我們直接以一個範例來說明: <?php function foo() { $numargs = func_num_args(); return $numargs; } $n = foo (10, 15, 20); //傳入 3 個參數 echo $n; //輸出 3 ?> 程式裡的 func_num_args() 函數傳回呼叫該函數時所傳入的參數個數,以範例中的 foo(10, 15, 20) 為例,傳入了 3 個參數給 foo()...

| Top | Jollen's Forum |
Jollen's PHP 專欄採用 Attribution-NonCommercial-NoDerivs 2.5 授權條款
Copyright(c) 2001-2007 www.jollen.org