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

WBOY
发布: 2016-10-10 11:55:56
原创
1041 人浏览过

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()函数!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!