php - 深夜遇到文法問題,無言了。
为情所困
为情所困 2017-05-16 13:02:31
0
2
285

雷雷
为情所困
为情所困

全部回覆(2)
伊谢尔伦

這不是php的問題,十有八九是你編輯器的問題。

<?php

class Privilege{
        const Administration = 0x1 << 1;
}

$a = new Privilege();
echo $a::Administration;

在centos和mac尚(都是php7),輸出結果都是2,沒有問題

php版本的問題。

changelog在這裡:

http://php.net/manual/zh/migr...

5.6引進的新功能:

使用表達式定義常數

在先前的 PHP 版本中, 必須使用靜態值來定義常數,宣告屬性以及指定函數參數預設值。 現在你可以使用包含數值、字串字面量以及其他常數在內的數值表達式來 定義常數、宣告屬性以及設定函數參數預設值。

5.6之前必須用靜態值,5.6之後支援常數用運算定義

迷茫

個人認為出現這個錯誤的原因是線上的PHP版本的低於5.6引起。 PHP5.6以前,常數的右邊值只能是直接量和靜態值,不能是表達式。只有php5.6起,才開始支援表達式作為常數的右邊值。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板