php - 深夜遇到一个语法问题,无语了。
本文介绍了php - 深夜遇到一个语法问题,无语了。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
const Administration = 0x1 << 1;
代码就是这一句 使用const 定义了一个常量,常量中使用位移符号而已,在win系统没有任何问题呢,在ubuntu系统就报语法错误呢!
解决方案
这并不是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 - 深夜遇到一个语法问题,无语了。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文