php函數(shù)有兩種:
一種是別人寫好的或系統(tǒng)內(nèi)部提供的函數(shù),這種你只要知道這個(gè)函數(shù)干什么用,自己認(rèn)識(shí)會(huì)使用就行了,不用深究函數(shù)里面是怎么實(shí)現(xiàn)的,比如使用過的各種字符串函數(shù),數(shù)組函數(shù)之類,有如下的一些特點(diǎn):
1. 都可以執(zhí)行一些特定的功能
2. 都有特殊的名稱
3. 都有或多或少的參數(shù)
4. 大多數(shù)函數(shù)都會(huì)有返回值,即使沒有也會(huì)執(zhí)行特定的操作
5. 不需要知道函數(shù)內(nèi)部的實(shí)現(xiàn)邏輯
另一種函數(shù)是自己定義的,用來實(shí)現(xiàn)自己的獨(dú)特需求??赡芨拍顣?huì)比較抽象不好理解,我們可以把函數(shù)想象成一個(gè)榨汁機(jī),參數(shù)就好比是我們投放進(jìn)去的水果,而函數(shù)中執(zhí)行的代碼就好比是攪拌機(jī)的攪動(dòng)。參數(shù)不同,函數(shù)返回的結(jié)果也不同,就像投放了橙子后不會(huì)出蘋果汁一個(gè)道理。函數(shù)也可以接受多個(gè)參數(shù),就好比是混合果汁。
函數(shù)只留給我們函數(shù)名來調(diào)用,而我們無需了解函數(shù)里的代碼是如何定義的,同樣,我們也不需要了解榨汁機(jī)里的工作原理。函數(shù)存在于大多數(shù)的程序語言中,它們被用于分隔哪些能夠完成獨(dú)立明確任務(wù)的代碼。函數(shù)名稱必須以字母或者下劃線開頭,后面跟隨字母、數(shù)字或者下劃線,另外函數(shù)名是大小寫不敏感的。
所以函數(shù)的定義就是一個(gè)唄命名的、獨(dú)立的代碼段,它執(zhí)行特定的任務(wù),并可能給調(diào)用它的程序返回一個(gè)值。PHP的模塊化程序結(jié)構(gòu)都是通過函數(shù)或者對(duì)象來實(shí)現(xiàn)的,函數(shù)則是將復(fù)雜的PHP程序分為若干個(gè)功能模塊,每個(gè)模塊都編寫成一個(gè)PHP函數(shù),然后通過在腳本中調(diào)用函數(shù),以及在函數(shù)中調(diào)用函數(shù)來實(shí)現(xiàn)一些大型的PHP腳本編寫。