PHP 语言构造(Language constructs)和函数的区别

WBOY
Freigeben: 2016-06-13 13:08:01
Original
1166 Leute haben es durchsucht

PHP 语言结构(Language constructs)和函数的区别

相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等。
例子:
         if ( isset($username[5]) ) {
                 // The username is at least six characters long.
}
原因是isset是语言结构,而strlen是一个函数。那什么是语言结构呢?它和函数有什么不同吗?
 
1、  什么是语言结构和函数
 
语言结构:就是PHP语言的关键词,语言语法的一部分;它不可以被用户定义或者添加到语言扩展或者库中;它可以有也可以没有变量和返回值。
函数:    由代码块组成的,可以复用。
 
2、  语言结构为什么比函数快
原因是在PHP中,函数都要先被PHP解析器分解成语言结构,所以有此可见,函数比语言结构多了一层解析器解析。这样就能比较好的理解为
什么语言结构比函数快了。
 
3、  语言结构和函数的不同
 
          语言结构比对应功能的函数快
          语言结构在错误处理上比较鲁棒,由于是语言关键词,所以不具备再处理的环节
          语言结构不能在配置项(php.ini)中禁用,函数则可以。
          语言结构不能被用做回调函数
 
4、  语言结构列表
 
          echo()
          print(),没错,这是一个语言结构
          die()
          isset() :只用于变量
          unset()
          include(),没有include_once()
          require(),没有require_once()
          array()
          list()
          empty() :只用于变量

下述情况,isset() 返回 TRUE :

$var = "";
$var = array();
$var = 0;
$var = false;
目前为止:只有被赋值null或者不赋值才不通过,建议使用empty
 
Nach dem Login kopieren

摘自:http://blog.sina.com.cn/s/blog_475429950100hk75.html
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!