关于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 相关文章推荐
如何对PHP程序中的常见漏洞进行攻击
Oct 09 PHP
PHP 各种排序算法实现代码
Aug 20 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
Mar 19 PHP
PHP获取数组最后一个值的2种方法
Jan 21 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
Dec 28 PHP
php使用文本统计访问量的方法
May 12 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
Laravel5框架添加自定义辅助函数的方法
Aug 01 PHP
laravel 事件/监听器实例代码
Apr 12 PHP
PHP中->和=>的含义及使用示例解析
Aug 06 PHP
详解Laravel服务容器的优势
May 29 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仿ZOL分页类代码
2008/10/02 PHP
php切割页面div内容的实现代码分享
2012/07/31 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
2013/07/05 PHP
PHP将两个关联数组合并函数提高函数效率
2014/03/18 PHP
百度实时推送api接口应用示例
2014/10/21 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
13个PHP函数超实用
2015/10/21 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
react.js 获取真实的DOM节点实例(必看)
2017/04/17 Javascript
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
Angular(5.2->6.1)升级小结
2018/12/27 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
[01:00:30]TFT vs VGJ.T Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
详解在Python程序中自定义异常的方法
2015/10/16 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
python实现列表的排序方法分享
2019/07/01 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
青春奉献演讲稿
2014/05/08 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
模范教师事迹材料
2014/12/16 职场文书
工作失误检讨书范文
2015/01/26 职场文书
初一年级组工作总结
2015/08/12 职场文书
校运会班级霸气口号
2015/12/24 职场文书
教你用eclipse连接mysql数据库
2021/04/22 MySQL
教你怎么用python selenium实现自动化测试
2021/05/27 Python