php函數詳解之學習筆記

來源:互聯網
上載者:User

系統函數

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.