关于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应用技巧
Mar 27 PHP
PHP+MYSQL 出现乱码的解决方法
Aug 08 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
Apr 17 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
Feb 18 PHP
php实现水仙花数的4个示例分享
Apr 08 PHP
PHP的error_reporting错误级别变量对照表
Jul 08 PHP
ThinkPHP框架设计及扩展详解
Nov 25 PHP
php微信开发之自定义菜单实现
Nov 18 PHP
php实现算术验证码功能
Dec 05 PHP
php pdo连接数据库操作示例
Nov 18 PHP
Laravel框架下的Contracts契约详解
Mar 17 PHP
PHP并发场景的三种解决方案代码实例
Feb 27 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通过baihui网API实现读取word文档并展示
2015/06/22 PHP
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
微信小程序实战之自定义模态弹窗(8)
2017/04/18 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
2019/08/26 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
Python爬虫抓取技术的一些经验
2019/07/12 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
管理学院毕业生自荐信范文
2014/03/10 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
钳工实训报告总结
2014/11/04 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书
一文搞懂php的垃圾回收机制
2021/06/18 PHP
springboot中rabbitmq实现消息可靠性机制详解
2021/09/25 Java/Android
python中if和elif的区别介绍
2021/11/07 Python
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers