萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php函數詳解之學習筆記

php函數詳解之學習筆記

在php中函數是常用的一種合理的可以重復使用的方法,函數分別系統函數與用戶自定義函數,下面我來給大家介紹這兩種php函數的使用方法,有需了解的朋友可參考。

系統函數

如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;
?>

copyright © 萬盛學電腦網 all rights reserved