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