关于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
杏林同学录(四)
Oct 09 PHP
php自定义函数call_user_func和call_user_func_array详解
Jul 14 PHP
PHP header函数分析详解
Aug 06 PHP
php 计划任务 检测用户连接状态
Mar 29 PHP
解析PHP中empty is_null和isset的测试
Jun 29 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
Oct 13 PHP
php cookie用户登录的详解及实例代码
Jan 03 PHP
thinkPHP5.0框架独立配置与动态配置方法
Mar 17 PHP
php PDO实现的事务回滚示例
Mar 23 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
PHP实时统计中文字数和区别
Feb 28 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中json_decode()和json_encode()的使用方法
2012/06/04 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
ThinkPHP处理Ajax返回的方法
2014/11/22 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
js实现无缝循环滚动
2020/06/23 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
javascript 面向对象function详解及实例代码
2017/02/28 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
简述JS控制台的使用
2018/07/15 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
[48:41]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
[45:14]Optic vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
python模块之StringIO使用示例
2015/04/08 Python
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
在windows系统中实现python3安装lxml
2016/03/23 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
Python寻找两个有序数组的中位数实例详解
2018/12/05 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
python 多线程中join()的作用
2020/10/29 Python
日本最大的彩色隐形眼镜销售网站:CharmColor
2020/09/09 全球购物
优秀教师自我评价范文
2014/09/27 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
详解Spring事件发布与监听机制
2021/06/30 Java/Android