博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP关键字、PHP 语言结构(Language constructs)和函数的区别
阅读量:5944 次
发布时间:2019-06-19

本文共 1849 字,大约阅读时间需要 6 分钟。

hot3.png

参考:

1、 什么是语言结构和函数

语言结构:
    就是PHP语言的关键词,语言语法的一部分;
    它不可以被用户定义或者添加到语言扩展或者库中;
    关键字也可以有参数和返回值。
 函数: 由代码块组成的,可以复用。
 2、 语言结构为什么比函数快
     原因是在PHP中,函数都要先被PHP解析器分解成语言结构,所以函数比语言结构多了一层解析器解析。
     这样就能比较好的理解为 什么语言结构比函数快了。
 3、 语言结构和函数的不同
  • 语言结构比对应功能的函数快 
  • 语言结构在错误处理上比较鲁棒,由于是语言关键词,所以不具备再处理的环节
  • 语言结构不能在配置项(php.ini)中禁用,函数则可以。
  • 语言结构不能被用做回调函数
可是tammd在php manual中实在是误导,大家可能都知道echo 是个语言结构,好像很神秘,其实就是关键字,只是在php中有些关键字很像函数,也有 参数,甚至有返回值,可恶的PHP Manual中将类似echo的关键字的说明放到了function.XXX这种链接里面,而将关键字列表放到了附录里面,啃die啊如: ,这不明摆着说你 echo是个函数吗!!!每次面试或者高手们都会拿这些函数样的关键字 做考题,fuuuuuuccckkkk.
下面列举一下PHP5中的关键字,以及像函数的关键字

2、 

这页会给出关键字自哪个版本开始有的,比较凌乱分个类吧,关键字都是不区分大小写的 
类型 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)  interfacenamespace (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 . "
";echo 1+2+"3+4+5"; 算术运算符从左至右 解析 数字,直到碰到非数字字符echo "
";echo 1>>0;echo 2>>1;右移除2echo 3<<2;左移乘2echo "
";echo true; 1echo false; 不显示任何东西echo function_exists('include_once');
结果:12245611121
echo "true";echo "false";echo 'true';echo 'false';
结果:
truefalsetruefalse

再次重申 echo FALSE;什么也不输出

转载于:https://my.oschina.net/jingxing05/blog/282550

你可能感兴趣的文章
SAP R3和JAVA交换数据之JCO
查看>>
近期给朋友推荐的笔记本型号
查看>>
sqlserver使用存储过程发送http请求
查看>>
oracle 相关操作
查看>>
JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)
查看>>
activeMQ安全配置及常见问题解决
查看>>
实作 ASP.NET 多笔数据离线编辑(转)
查看>>
solr的用分布式搜索(转)
查看>>
多媒体开发之rtmp---rtmp client 编译
查看>>
异常处理汇总 ~ 修正果带着你的Code飞奔吧!
查看>>
Java开发手冊 Java学习手冊教程(MtJava开发手冊)
查看>>
The Willpower Instinct
查看>>
注入复习总结
查看>>
OpenStack 部署总结之:单节点icehouse网桥的配置
查看>>
js---12数据类型,数据类型转换,NaN,
查看>>
C字符串处理函数
查看>>
超短reads(primer、barcode、UMI、index等)比对方法
查看>>
lua正则表达式如何匹配中文
查看>>
arcgis api for js热力图优化篇-不依赖地图服务
查看>>
php逻辑操作符中&和&&的异同
查看>>