系統函數
如phpinfo() ;這就是一個系統函數了,關於系統函數我們不多說,直接參考php教程或手冊都會有。
使用者自訂函數
php 引入函數的概念使程式變得簡潔,運算效率更快。函數是實現某種功能的一段程式,這段程式相當於一個模組,需要時用一些簡單的命令就可以調用出來使用,不用每次都重新編寫。就好象電腦,我們不需要瞭解裡面的複雜結構,只要瞭解它提供的功能直接使用即可。
php自訂函數-php雖然內建了很多實用的函數,可是不可能滿足實際設計的需要,這時我們就需要自己建立函數。
基本結構形式:
| 代碼如下 |
複製代碼 |
function 函數名(參數){ 語句體 } |
function為聲明函數;
函數名必須唯一,和變數名不同的是函數名不區分大小寫;
function和函數名之間必須要有空格;
參數可以省略,也可以添加多個參數,用英文逗號隔開。
php調用函數-當我們定義了函數後,就可以通過以下結構形式對函數進行調用:
函數名(參數)
參數可以省略,但必須保留括弧。
執行個體:
| 代碼如下 |
複製代碼 |
<?php function e(){ $i=5+6; echo $i; } e(); ?> |
函數的傳遞參數
如果函數定義了參數,那麼在調用函數時就必須注意參數值的傳遞問題。php函數參數傳遞的方式有兩種:按值傳遞和引用傳遞,預設為按值傳遞。
1、按值傳遞:
執行個體1:
| 代碼如下 |
複製代碼 |
<?php function sum($num,$price){ $total=$num*$price; echo "總價格為:$total"; } sum(10,78); ?> |
預設參數
php函數預設參數-如果用一個函數時並沒有提供該參數的值,那麼該參數將使用函數制定的預設值,預設值必須已經在函數定義時賦值。
執行個體:
| 代碼如下 |
複製代碼 |
<?php function add($a,$b=10){ /* 定義變數$b預設參數 */ $sum=$a+$b; echo $sum ."<br>"; } add(1,5); /* 按值傳遞參數代替預設參數 */ add(1); /* 沒有給$b傳遞參數將採用預設值 */ ?> |
函數傳回值
我們在設計程式時,很多時候不希望將函數的運行結果直接在瀏覽器顯示出來,這時可以通過return語句先將函數值調用出來再進行其它操作。
php函數傳回值執行個體:
| 代碼如下 |
複製代碼 |
<?php function add($a,$b=10){ $sum=$a+$b; return $sum; /* 將$sum的值賦給函數 */ } $sum=add(1,5); /* 這裡變數$sum得到函數的值 */ echo $sum ."<br>"; ?> |
函數嵌套調用
函數的內部不但可以是一般的執行語句,也可以是函數,這就是php函數嵌套的用法。
函數嵌套只一個函數裡面還調用了其它函數,這裡要理解的是各函數均處於平行關係,函數的定義是獨立的。就像一個容器裡面可以放置很多個小容器,而這些容器彼此獨立,各自容納自己的東西。
執行個體:
| 代碼如下 |
複製代碼 |
<?php function volume($l,$w){ function height($a){ $a=$a/2; return $a; } $a=$l*$w; $v=$a*height($a); echo $v; } volume(8,3); ?> |
函數遞迴調用
什麼是php遞迴函式?在解釋這個概念之前,我們先來看一個數學例子。如果要算出n的階乘,即n!,則首先應該知道(n-1)!,而要知道(n-1)!,又必須知道(n-2)!。以此類推,直至1!=1,再返回計算2!,3!…(n-1)!,n!,才能最終得出n階乘的結果。
php函數遞迴調用的含義就是函數能夠調用自身,這種直接或者簡介調用函數本身的操作在php語言中是允許的,成之為遞迴函式。
執行個體:
| 代碼如下 |
複製代碼 |
<?php function calculate($n){ if($n==0) return 1; else return $n*calculate($n-1); } $s=calculate(3); echo $s; ?> |