Heim  >  Artikel  >  php教程  >  关于PHP语言构造器

关于PHP语言构造器

WBOY
WBOYOriginal
2016-06-21 08:49:361237Durchsuche

你提到的“语言构造器”,英文是”language construct”,是语言构成的意思,翻译成语言构造器难免有点令人困惑。PHP里有echo、print、die、require等几个特殊的关键字,虽然它们用起来像是函数,但实际上更类似于if、while这样控制语句,而不是一个函数。也就是说,当解释器遇到:

print ‘Hello world’;
这样的一个表达式的时候,并不会把它转换成函数调用,而是直接映射到一系列预先定义好的操作。使用语言构成的时候可以加括号,也可以不加括号,但是使用函数的时候必须加括号。

你提到的“可变函数”,英文是”variable function”,变量函数的意思,翻译成“可变函数”也有点扭曲原义,把variable(变量)这个名词按形容词(可变)的含义来翻译了。PHP里的Variable function是指如果在一个变量后面加上一对括号,那么解释器会试图寻找名字和这个变量的值一样的一个函数,如果找到了就执行它。例如,有一个函数foo(),那么可以用下面这种方式调用这个函数:

1

2

3

4

5

// 初始化一个字符串变量

$func = 'foo';

 

// 找到名字和这个字符串一样的函数,并且执行它

$func();

所以,你提到的这句话的含义就是,使用变量函数这种方式来调用一个语言构成是不允许的,例如下面这样:

1

2

3

4

$func = 'print';

 

// 这样做会产生异常,因为print不是一个函数,而是语言的构成部分

$func('hello world');

执行这段代码,会产生一个异常,函数print没有定义。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn