php的匿名函數(shù)是繼php5.3之后新增添的功能,在越來越多的框架支持高版本的php之后,都有使用到此功能,手冊上的解釋比較生澀難懂,那么我們撇開手冊不談,以代碼切入,希望讓大家能更好的理解。
創(chuàng)新互聯(lián)企業(yè)建站,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁設(shè)計,有多年建站和網(wǎng)站代運(yùn)營經(jīng)驗(yàn),設(shè)計師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對于成都網(wǎng)站建設(shè)、做網(wǎng)站中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動的思維在網(wǎng)頁中充分展現(xiàn),通過對客戶行業(yè)精準(zhǔn)市場調(diào)研,為客戶提供的解決方案。
一、變量函數(shù)
聊匿名函數(shù)之前,我們有必要說說變量函數(shù)
1 、首先,我們定義一個普通的函數(shù)
function test($a,$b){ return $a+$b; } $test = test(1,2); echo $test; //res = 3
2、將其改變?yōu)樽兞亢瘮?shù)
function test($a,$b){ return $a+$b; } $test = 'test'; echo $test(1,2); //res = 3
變量函數(shù)就是把函數(shù)名賦值給一個變量,然后使用 $test() 或者有參數(shù)時$test(1,2) 如此這般來使用。
二、匿名函數(shù)
1、匿名函數(shù)定義
匿名函數(shù),顧名思義就是沒有函數(shù)名的函數(shù)。
我們把上面例子中的函數(shù)名稱去掉就是匿名函數(shù)了,如下:
function (){ }; //這段代碼就是沒有函數(shù)名稱的匿名函數(shù)的主體部分了,切記【末尾需要加上分好】 $test = function(){ return '1111111111111'; }; $test = function($a,$b){ return $a + $b; }; // 這段代碼就是一個標(biāo)準(zhǔn)的匿名函數(shù)了,有函數(shù)主體,有返回值,這里的返回值不是return,而是返回給了變量$test。
至于為什么末尾要加分號,你可以這樣理解:
一個普通變量的賦值 $name = 'zhangsan'; 變量賦值是需要在末尾加分號的。
這里是匿名函數(shù),同樣也是變量的賦值,所以加上分號也好理解了。
2、匿名函數(shù)使用
$test = function(){ return '1111111111111'; }; echo $test(); //和變量函數(shù)一樣 $test = function($a,$b){ return $a + $b; }; echo $test(1,2); //同理,傳入?yún)?shù)
三、疑問(匿名函數(shù)的意義)
看到這里,大家難免有疑問,這個變量函數(shù)我們用的都比較少,這個匿名函數(shù)視乎并沒有普通函數(shù)來的實(shí)現(xiàn),那這個匿名函數(shù)存在的意義是什么呢?
匿名函數(shù)在設(shè)計時,并不是為了跟隨模仿js而來的,php 的匿名函數(shù)主要的目的是為了這兩個功能【閉包函數(shù)】、【回調(diào)函數(shù)】。
關(guān)于閉包和回調(diào)我們下篇文章再和大家聊聊。
網(wǎng)頁名稱:PHP匿名函數(shù)(一)
路徑分享:http://jinyejixie.com/article34/gceese.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站維護(hù)、微信公眾號、自適應(yīng)網(wǎng)站、虛擬主機(jī)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)