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

发布于 2022-09-03 23:43:18 字数 148 浏览 20 评论 0

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

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

define("MESSAGE", time());

//输出常量
echo MESSAGE;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

醉梦枕江山 2022-09-10 23:43:18

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

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

陌上芳菲 2022-09-10 23:43:18

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

扮仙女 2022-09-10 23:43:18

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

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

℡Ms空城旧梦 2022-09-10 23:43:18

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文