您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關php中語言結構和函數有哪些區別,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
區別:1、語言結構比對應功能的函數快;2、語言結構不能在配置文件“php.ini”中禁用,而函數可以禁用;3、語言結構不能被用做回調函數,而函數可以。
本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦
相信大家經常看到對比一些PHP應用中,說用isset() 替換 strlen(),isset比strlen執行速度快等。
例子:
if ( isset($user) ) { //do some thing }
原因是isset是語言結構,而strlen是一個函數。那什么是語言結構呢?它和函數有什么不同嗎?
1、什么是語言結構和函數
語言結構:就是PHP語言的關鍵詞,語言語法的一部分;它不可以被用戶定義或者添加到語言擴展或者庫中;它可以有也可以沒有變量和返回值。
函數:由代碼塊組成的,可以復用。從源碼的角度來說,也就是基于Zend引擎的基礎來實現的,ext拓展庫中的函數都是這樣實現的。
2、語言結構為什么比函數快
原因是在PHP中,函數都要先被PHP解析器(Zend引擎)分解成語言結構,所以有此可見,函數比語言結構多了一層解析器解析。這樣就能比較好的理解,什么語言結構比函數快了。
3、語言結構和函數的不同
(1)語言結構比對應功能的函數快
(2)語言結構在錯誤處理上比較粗糙,由于是語言關鍵詞,所以不具備再處理的環節
(3)語言結構不能在配置項(php.ini)中禁用,函數則可以。
(4)語言結構不能被用做回調函數
補:語言結構列表 :
echo() print() die() isset() unset() include() array() list() empty() require(),
注意,include_once()是函數 ,require_once()是函數
關于“php中語言結構和函數有哪些區別”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。