首頁  >  文章  >  後端開發  >  PHP常數為何可以定義成值變化的表達式?

PHP常數為何可以定義成值變化的表達式?

WBOY
WBOY原創
2016-10-10 11:55:561043瀏覽

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn