php常量数学运算
目前我正在学习php。这里我有一个困惑,这是我的php代码php常量数学运算,php,constants,Php,Constants,目前我正在学习php。这里我有一个困惑,这是我的php代码 class OBJECT_ENUM { const USER = 10; const POST = 30; const SECURE_REQUEST = 40; } class OPERATION_ENUM { const INSERT_USER = OBJECT_ENUM::USER + 1; // <- here it gives an error const SEND_MAIL =
class OBJECT_ENUM
{
const USER = 10;
const POST = 30;
const SECURE_REQUEST = 40;
}
class OPERATION_ENUM
{
const INSERT_USER = OBJECT_ENUM::USER + 1; // <- here it gives an error
const SEND_MAIL = OBJECT_ENUM::USER + 2;
const LIKE_POST = OBJECT_ENUM::POST + 1;
const INSERT_POST = OBJECT_ENUM::POST + 2;
const ENCRYPT = OBJECT_ENUM::SECURE_REQUEST + 1;
}
error message:
Parse error: syntax error, unexpected '+', expecting ',' or ';' in /var/www/workspace/6thAssignment/include/tempCall.php on line 15
类对象\u枚举
{
const USER=10;
const POST=30;
const SECURE_REQUEST=40;
}
类操作枚举
{
const INSERT_USER=OBJECT_ENUM::USER+1;//我认为您无法执行数学运算以分配给const变量。请尝试更改
const INSERT_USER = OBJECT_ENUM::USER + 1;
到
原始答案:
如您所见:
该值必须是一个常量表达式,而不是(例如)a
变量、属性、数学运算的结果或
函数调用
更新:
从PHP 5.6版的常量中。我认为常量定义中不允许使用表达式(如$a+1),因此这就是为什么会出现此错误。目前PHP不允许这样做。有一个RFC(征求意见)请求将此添加到语言中:
然而,由于RFC的作者已经离开了内部开发团队,这一点被撤回了。所以我怀疑这可能不会很快发生,但这并不是说这不会在以后以某种形式出现。两个类之间的关系是什么?它们在代码中没有关系。@Hanky웃Panky:关系只是我想将OBJECT_ENUM常量的值用于操作_ENUM类没有其他关系我有一个文件'tempCall.php',两者都放在一个文件中。实现更新非常重要。可以从PHP5.6执行操作。谢谢!
$INSERT_USER = OBJECT_ENUM::USER + 1;