PHP 函數

php 函數

一、函數概念

具有特定功能的可執行性代碼的即可就是函數!

例如:abs();

函數分爲:核心函數(php系統定義的),用戶函數(用戶腳本自定義的函數)

二、函數定義,使用

聲明,定義一個函數

hanshudd.png

hanshudomhyi.png

調用,使用一個函數,函數名()。()調用操作符。

hanshudingyi1.png

注意

聲明和調用誰在前?

聲明在前。但是 在編譯時,函數是預先被編譯形成執行代碼的。因此源代碼的語法上,可以出現,先調用,後聲明語法順序!

shengming123.png

如果函數的定義,被放置在載入的文件內,則需要先載入!

hanshudingyi2.png

函數的定義可以出現在其他語句塊內,但是必須保證語句塊執行,函數的定義纔會生效!

hanshudingyi3.png

三、函數名

函數名必須唯一

用戶定義的不能相同,用戶定義的不能與系統的重名

函數的組成:三部分:函數名,函數參數,函數體。

函數的標識符,調用函數,大小寫不敏感!

hanshuming1.png

典型的命名方法,駝峯法!單詞的首字母大寫,第一個單詞除外!

四、可變函數

函數的標識符(函數名),可以由一個變量來充當!意味着可以出現:$func();

kebianhanshu.png

作用在於:

可以動態確定當前所調用的函數名字!

例如:在處理圖片時,會用到:

imagecreatefromjpeg

imagecreatefrompng

imagecreatefromgif

功能相同,但是細節(圖片類型)不同。

kebianhanshu1.png

五、匿名函數

php5.3增加!

匿名,沒有名字。php允許存在沒有名字的函數,稱之爲匿名函數!

基本語法:與普通函數相同,沒有名字部分

niming.png

niming1.png

匿名函數的管理方式,不同於普通函數,類似於值(數據)的管理方式!將其保存在一個變量內!

niming2.png

匿名函數,是一個內置的Closure類的對象。

niming3.png

php的匿名函數如何實現的?

利用Closure類的對象實現!

tip:closure閉包的意思,導致,php的匿名函數也稱之閉包函數!

匿名函數的調用

diaoyong.png

注意區分好 可變函數。變量的內容加以區分。

變量值爲字符串,作爲可變函數。

變量值爲Closure對象,爲匿名函數。

六、函數的參數

提供,函數運行時所依賴的數據!

形參,實參

形參,形式參數,函數聲明時,用於表示函數需要哪些參數的語法,稱之爲形參!函數內部通過處理形參,完成邏輯功能!

實參,實際參數,函數被調用時,實際獲得的參數數據,稱之爲實參!

xingcan.png

形參的值,最終是調用函數時,實參爲其傳遞過來的!

誰調用,誰傳參!

定義函數時,不用考慮參數來源問題!

調用時,發生了一個實參 爲 形參 賦值的過程!

xingcan1.png

此時,如果實參 也是一個變量!

xingcan2.png

就相當於,發生了一個,實參變量 爲 形參變量 賦值的過程!

兩個變量間的賦值,出現了 值傳遞,和 引用傳遞的區別!

$name = $real_name;//值傳遞

$name = & $real_name;//引用傳遞

文章來至:http://www.codexueyuan.com/learn/learn-detail30-phphanshu

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章