php高階程式設計 函式

2022-10-06 06:24:08 字數 1993 閱讀 4510

1.php函式

1.使用者自定義函式

複製** **如下:

function 函式名字([$parameter,[,…]])

注意:函式名不能與系統函式或使用者已經定義的函式重名。

$parameter為函式引數,函式一般可以有0個或多個引數,

2.引數的傳遞

引數是通過值來傳遞的,例如前面定義funwww.cppcns.comc()函式是通過變數$a和$b的值傳遞的。通過值傳遞引數不會因為函式內部引數值的變化而改變函式外部的值。

複製** **如下:

<?php

function color(&$col) //定義函式color()

$blue="blue";

color($blue); //呼叫函式color(),引數使用變數$blue

echo $blue; //輸出"yellow"

?>

3.函式變數的作用域

在主程式定義的變數和在函式中定義的變數都是區域性變數。在函式中定義的變數只能在函式內部使用。在主程式中定義的變數

只能在主程式中使用,而不能在函式中使用。

複製** **如下:

<?php

function sum()

sum();

echo $count;

?>

由於函式中的變數無法作用於函式外部,所以上面執行時出錯,提示$count變數未定義。

4.函式的返回值

函式宣告時,在函式**中使用return 語句可以立即結束函式的執行,程式返回到時呼叫該函式的下一條語句。

複製** **如下:

<?php

function my_function($a=1)

my_function(); //輸出1

?>

中斷函式並不是return語句常用的功能,許多函式使用return語句返回乙個值來與呼叫它們的**進行互動。函式的返回值可以是任何型別,包括列表物件

5.函式的呼叫

在函式宣告後可以被呼叫了,另外函式如果沒有返回值,呼叫進使用函式名即可。如果函式具有返回值,則可以將函式的返回值賦給乙個變數。

複製** **如下:

//對乙個陣列進行公升序排序的函式my_sort()

function my_sort($array) }

} return $array;

} $arr=array(6,4,7,5,9,2); //未排序的陣列

$sort_arr=my_sort($arr); //將排序後的陣列賦給$sort_arr

foreach($sort_arr as $num)

echo $num; //輸出245679

?>

6.遞迴函式

php支援遞迴函式,遞迴函式就是自己呼叫自已,可以實現迴圈的作用。

求10!

例如:

複製** **如下:

<?php

function factorial($n)

echo factorial(10); www.cppcns.com//輸出3628800

?>

使用遞迴一事實上要給出遞迴終止條件,否則函式將一直執行下去直到記憶體耗盡,或達到最大呼叫次數。

使用遞迴一事實上要給出遞迴終止條件,否則函式將一直執行下去直到記憶體耗盡,或達到最大呼叫次數。

7.變數函式

php有函式變數這個概念,在變數的後面加上一對小括號就構成乙個變數函式。

$count();

8.系統函式

9.例項-設計乙個計算器程式

複製** **如下:

計算器程式

廣告贊助

廣告贊助

最新發布

全站最新

廣而告之

© 2018-2021 程式設計客棧 贛icp備17006162號-9

贛公網安備 36110202000251號

top

函式式程式設計 高階函式

高階函式英文叫higher order function。什麼是高階函式?我們以實際 為例子,一步一步深入概念。1 變數可以指向函式 以python內建的求絕對值的函式abs 為例,呼叫該函式用以下 abs 10 10但是,如果只寫abs呢?abs 可見,abs 10 是函式呼叫,而abs是函式本身...

高階函式程式設計補充

zip 案列 l1 1,2,3,4,5,6,7 s1 a b c d e f g z zip l1,s1 print type z for i in z print i 預設從零開始建立索引 l1 12,43,543,665,654,24,233,43 em enumerate l1 l2 i fo...

PHP程式設計之高階技巧 利用Mysql函式

儘管php為我們提供了很多函式,但有些東西處理起來還是不很方便。譬如php提供的日期時間函式就很有限。mysql為我們提供了不少此類的函式。是否可以利用mysql函式來處理php程式呢?筆者做了以下的嘗試。data time 1998 12 31 23 59 59 connect id mysql ...