关于PHP语言构造器介绍


Posted in PHP onJuly 08, 2013

PHP里有echo、print、die、require等几个特殊的关键字,虽然它们用起来像是函数,但实际上更类似于if、while这样控制语句,而不是一个函数。也就是说,当解释器遇到:

print 'Hello world';

这样的一个表达式的时候,并不会把它转换成函数调用,而是直接映射到一系列预先定义好的操作。使用语言构成的时候可以加括号,也可以不加括号,但是使用函数的时候必须加括号。

你提到的“可变函数”,英文是”variable function”,变量函数的意思,翻译成“可变函数”也有点扭曲原义,把variable(变量)这个名词按形容词(可变)的含义来翻译了。PHP里的Variable function是指如果在一个变量后面加上一对括号,那么解释器会试图寻找名字和这个变量的值一样的一个函数,如果找到了就执行它。例如,有一个函数foo(),那么可以用下面这种方式调用这个函数:

// 初始化一个字符串变量 
$func = 'foo'; // 找到名字和这个字符串一样的函数,并且执行它 
$func();

所以,你提到的这句话的含义就是,使用变量函数这种方式来调用一个语言构成是不允许的,例如下面这样:

$func = 'print'; // 这样做会产生异常,因为print不是一个函数,而是语言的构成部分 
$func('hello world');

执行这段代码,会产生一个异常,函数print没有定义。

PHP 相关文章推荐
文件上传类
Oct 09 PHP
PHP 内存缓存加速功能memcached安装与用法
Sep 03 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
Jun 03 PHP
PHP版国家代码、缩写查询函数代码
Aug 14 PHP
PHP 之 写时复制介绍(Copy On Write)
May 13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
Jun 26 PHP
php基于双向循环队列实现历史记录的前进后退等功能
Aug 08 PHP
php实现表单提交上传文件功能
May 28 PHP
PHP PDOStatement::errorCode讲解
Jan 31 PHP
PHP使用PDO操作sqlite数据库应用案例
Mar 07 PHP
laravel withCount 统计关联数量的方法
Oct 10 PHP
基于laravel belongsTo使用详解
Oct 18 PHP
php5.5新数组函数array_column使用
Jul 08 #PHP
PHP 关于访问控制的和运算符优先级介绍
Jul 08 #PHP
解析将多维数组转换为支持curl提交的一维数组格式
Jul 08 #PHP
php采集文章中的图片获取替换到本地(实现代码)
Jul 08 #PHP
php打开文件fopen函数的使用说明
Jul 05 #PHP
解析PHP中$_FILES的使用以及注意事项
Jul 05 #PHP
如何利用PHP执行.SQL文件
Jul 05 #PHP
You might like
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
Js+XML 操作
2006/09/20 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
Prototype源码浅析 String部分(四)之补充
2012/01/16 Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
javascript与css3动画结合使用小结
2015/03/11 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
详解js的作用域、预解析机制
2018/02/05 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
[36:33]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.29
2020/12/02 DOTA
python dict remove数组删除(del,pop)
2013/03/24 Python
Python探索之修改Python搜索路径
2017/10/25 Python
python pillow模块使用方法详解
2019/08/30 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
2019/10/09 Python
python3正则模块re的使用方法详解
2020/02/11 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
高中生毕业自我鉴定
2013/10/10 职场文书
水电维修专业推荐信
2014/09/06 职场文书
幼儿园迎国庆65周年活动策划方案
2014/09/16 职场文书
2014年业务工作总结
2014/11/17 职场文书
上班迟到检讨书
2015/05/06 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书