关于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 相关文章推荐
漂亮但不安全的CTB
Oct 09 PHP
解析用PHP实现var_export的详细介绍
Jun 20 PHP
memcache命令启动参数中文解释
Jan 13 PHP
PHP中读取文件的8种方法和代码实例
Aug 05 PHP
Parse正式发布开源PHP SDK
Aug 11 PHP
CI框架中通过hook的方式实现简单的权限控制
Jan 07 PHP
Zend Framework教程之配置文件application.ini解析
Mar 10 PHP
PHP实现表单提交时去除斜杠的方法
Dec 26 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 PHP
php pdo连接数据库操作示例
Nov 18 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 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使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
2014/05/19 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
微信小程序实现点击空白隐藏的方法示例
2019/08/13 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
Vue与React的区别和优势对比
2020/12/18 Vue.js
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
[05:24]TI9采访——教练
2019/08/24 DOTA
python中的格式化输出用法总结
2016/07/28 Python
python 网络编程常用代码段
2016/08/28 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
Python实现的rsa加密算法详解
2018/01/24 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
python读写csv文件实例代码
2019/07/05 Python
python关于矩阵重复赋值覆盖问题的解决方法
2019/07/19 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
2019/10/30 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
Python发送邮件实现基础解析
2020/08/14 Python
python 利用zmail库发送邮件
2020/09/11 Python
Python之字典添加元素的几种方法
2020/09/30 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
卫生安全检查制度
2014/02/04 职场文书
有多年工作经验的自我评价
2014/03/02 职场文书
亲属关系公证书样本
2015/01/23 职场文书
世界地球日活动总结
2015/02/09 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers