PHP const,const php 7.1中允许使用常量表达式吗?

时间:2018-11-18 15:45:24

标签: php const

以下有效。

const BIT_c5 = 1 << 5;

以下无效。

$data_x =10;
$data_y = 20;

const DATA_Y = $data_x + $data_y;

有人可以解释为什么吗?

1 个答案:

答案 0 :(得分:0)

documentation中,定义常量时,它必须基于 Constant 表达式,而不是变量等

  

该值必须是一个常量表达式,而不是(例如)a   变量,属性或函数调用。

因此,您可以定义常量,并根据文字和涉及文字的表达式为其分配不可变的值。但是您不能使用变量(和/或涉及变量的表达式)将值分配给常量。