系統函數
如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;
?>