关于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 相关文章推荐
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
Mar 29 PHP
PHP 伪静态隐藏传递参数名的四种方法
Feb 22 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
Jul 03 PHP
PHP对接微信公众平台消息接口开发流程教程
Mar 25 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
php采用curl实现伪造IP来源的方法
Nov 21 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
Feb 23 PHP
PHP写的简单数字验证码实例
May 23 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
Oct 24 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 PHP
通过实例解析PHP数据类型转换方法
Jul 11 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新闻发布系统教程
2014/05/09 PHP
php实现根据字符串生成对应数组的方法
2014/09/22 PHP
详解php中反射的应用
2016/03/15 PHP
PHP实现用户登录的案例代码
2018/05/10 PHP
laravel model 两表联查示例
2019/10/24 PHP
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
基于jQuery和CSS3实现APPLE TV海报视差效果
2017/06/16 jQuery
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
[01:19:54]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#1Alliance VS EHOME
2016/03/03 DOTA
Python生成不重复随机值的方法
2015/05/11 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
毕业生自荐信的主要内容
2013/10/29 职场文书
国际经济贸易专业推荐信
2013/11/06 职场文书
写给保洁员表扬信
2014/01/08 职场文书
教师绩效考核方案
2014/01/21 职场文书
《理想》教学反思
2014/02/17 职场文书
应用心理学专业求职信
2014/08/04 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android