前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP关键字、PHP 语言结构(Language constructs)和函数的区别

PHP关键字、PHP 语言结构(Language constructs)和函数的区别

作者头像
96php.cn
发布2018-04-28 14:56:55
1.6K0
发布2018-04-28 14:56:55
举报
文章被收录于专栏:www.96php.cnwww.96php.cn

1、 什么是语言结构和函数 语言结构: 就是PHP语言的关键词,语言语法的一部分; 它不可以被用户定义或者添加到语言扩展或者库中; 关键字也可以有参数和返回值。 函数: 由代码块组成的,可以复用。 2、 语言结构为什么比函数快 原因是在PHP中,函数都要先被PHP解析器分解成语言结构,所以函数比语言结构多了一层解析器解析。 这样就能比较好的理解为 什么语言结构比函数快了。 3、 语言结构和函数的不同 语言结构比对应功能的函数快 语言结构在错误处理上比较鲁棒,由于是语言关键词,所以不具备再处理的环节 语言结构不能在配置项(php.ini)中禁用,函数则可以。 语言结构不能被用做回调函数

可是tammd在php manual中实在是误导,大家可能都知道echo 是个语言结构,好像很神秘,其实就是关键字,只是在php中有些关键字很像函数,也有 参数,甚至有返回值,可恶的PHP Manual中将类似echo的关键字的说明放到了function.XXX这种链接里面,而将关键字列表放到了附录里面,啃die啊如:http://www.php.net/manual/en/function.echo.php,这不明摆着说你 echo是个函数吗!!!每次面试或者高手们都会拿这些函数样的关键字 做考题,fuuuuuuccckkkk. 

下面列举一下PHP5中的关键字,以及像函数的关键字 

2、PHP关键字列表  这页会给出关键字自哪个版本开始有的,比较凌乱分个类吧,关键字都是不区分大小写的 

类型 callable (as of PHP 5.4) function static var global const 流程控制 break switch case default try catch continue do while else elseif endfor declare enddeclare endforeach endif endswitch endwhile final finally (as of PHP 5.5) for foreach goto (as of PHP 5.3) if return throw yield (as of PHP 5.5) use 逻辑 and xor or 面向对象 abstract class as clone extends implements instanceof insteadof (as of PHP 5.4) interface namespace (as of PHP 5.3) new private protected public trait (as of PHP 5.4) 令人迷糊的函数式关键字 __halt_compiler() array() die() empty() echo() eval() exit() isset() list() print() unset() include() include_once() require() require_once() 还有很多预定义的常量 __CLASS__ __DIR__ (as of PHP 5.3) __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ (as of PHP 5.3) __TRAIT__ (as of PHP 5.4) 使用function_exist('func_name'), 如果传入 关键字 则也返回FALSE的狗血的echo $s = '12345';//字符串就是char数组,php的数组本质上是带双向链表的hashtable $s[$s[1]] = '2' ; echo $s . "<br>"; echo 1+2+"3+4+5"; 算术运算符从左至右 解析 数字,直到碰到非数字字符 echo "<br>"; echo 1>>0; echo 2>>1;右移除2 echo 3<<2;左移乘2 echo "<br>"; echo true; 1 echo false; 不显示任何东西 echo function_exists('include_once'); 结果: 12245 6 1112 1 echo "true"; echo "false"; echo 'true'; echo 'false'; 结果: true false true false 再次重申 echo FALSE;什么也不输出

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年7月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档