关于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 相关文章推荐
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
Mar 27 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
Jun 12 PHP
用 Composer构建自己的 PHP 框架之基础准备
Oct 30 PHP
PHP+AJAX实现投票功能的方法
Sep 28 PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 PHP
php获取excel文件数据
Apr 21 PHP
PHP读取、解析eml文件及生成网页的方法示例
Sep 04 PHP
thinkPHP3.2.2框架行为扩展及demo示例
Jun 19 PHP
Referer原理与图片防盗链实现方法详解
Jul 03 PHP
php常用日期时间函数实例小结
Jul 04 PHP
解决Laravel自定义类引入和命名空间的问题
Oct 15 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
Oct 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
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
PHP微信API接口类
2016/08/22 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
jquery 插件学习(三)
2012/08/06 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python在windows下实现备份程序实例
2014/07/04 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
2018/01/04 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
python中线程和进程有何区别
2020/06/17 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
Under Armour西班牙官网:美国知名的高端功能性运动品牌
2018/12/12 全球购物
J2EE模式面试题
2016/10/11 面试题
销售总监工作职责
2013/11/21 职场文书
销售人员获奖感言
2014/02/05 职场文书
母亲节感恩活动记录
2014/03/16 职场文书
出国留学经济担保书
2014/04/01 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
我们的节日中秋活动方案
2014/08/19 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
走进毛泽东观后感
2015/06/04 职场文书
新娘婚礼答谢词
2015/09/29 职场文书
Java Dubbo框架知识点梳理
2021/06/26 Java/Android