关于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的FTP学习(二)[转自奥索]
Oct 09 PHP
php 删除数组元素
Jan 16 PHP
php 随机排序广告的实现代码
May 09 PHP
基于curl数据采集之正则处理函数get_matches的使用
Apr 28 PHP
浅析php中jsonp的跨域实例
Jun 21 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
php define的第二个参数使用方法
Nov 04 PHP
php常用文件操作函数汇总
Nov 22 PHP
yii2带搜索功能的下拉框实例详解
May 12 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
laravel异步监控定时调度器实例详解
Jun 21 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
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
php截取视频指定帧为图片
2016/05/16 PHP
Javascript实例教程(19) 使用HoTMetal(4)
2006/12/23 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
Javascript创建自定义对象 创建Object实例添加属性和方法
2012/06/04 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
微信小程序 本地数据读取实例
2017/04/27 Javascript
JS去掉字符串中所有的逗号
2017/10/18 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
vue  elementUI 表单嵌套验证的实例代码
2019/11/06 Javascript
仅利用30行Python代码来展示X算法
2015/04/01 Python
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
Python 3中print函数的使用方法总结
2017/08/08 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
对Django 转发和重定向的实例详解
2019/08/06 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
Python中的With语句的使用及原理
2020/07/29 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
德国网上花店:Valentins
2018/08/15 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
综合内勤岗位职责
2014/04/14 职场文书
走进敬老院活动总结
2014/07/10 职场文书
教师年度考核个人总结
2015/02/12 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
行政答辩状范文
2015/05/21 职场文书
python for循环赋值问题
2021/06/03 Python
python可视化之颜色映射详解
2021/09/15 Python
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android
2022年显卡天梯图(6月更新)
2022/06/17 数码科技
Oracle中日期的使用方法实例
2022/07/07 Oracle
nginx配置指令之server_name的具体使用
2022/08/14 Servers