Heim  >  Artikel  >  Backend-Entwicklung  >  PHP常量为何可以定义成值变化的表达式?

PHP常量为何可以定义成值变化的表达式?

WBOY
WBOYOriginal
2016-10-10 11:55:561043Durchsuche

php官方手册中这么说,“一个常量一旦被定义,就不能再改变或者取消定义”。

可是程序中为何可以定义成这种值变化的形式?

<code>define("MESSAGE", time());

//输出常量
echo MESSAGE;</code>

回复内容:

php官方手册中这么说,“一个常量一旦被定义,就不能再改变或者取消定义”。

可是程序中为何可以定义成这种值变化的形式?

<code>define("MESSAGE", time());

//输出常量
echo MESSAGE;</code>

从语法上来说,这个并没有错误,手册里所说的改变,是强调后期人为的改变,包括取消也是的。

这里你想表达的MESSAGE是可变的,可以理解为是php本身在运行中去内存中找到time()的结果。

我猜想一下,这个应该是跟函数式编程有点关系。time()这个函数可以赋值给一个常量,访问常量的时候等同于访问time()这个函数,而time()这个函数的返回值是不断变化的。

一个常量一旦被定义,就不能再改变或者取消定义

那你可以尝试改变MESSAGE试试,
比如 MESSAGE += 1;

感觉这就是 建立了一个连接到time()函数!

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