为什么我的常量整数类型转换为字符串?

时间:2014-05-28 14:07:15

标签: php

我在PHP类中定义了这些常量:

const TYPE_UNDEFINED = -1;
const TYPE_ANNIVERSARY_LIST = 1;
const TYPE_NEW_HIRE_LIST = 2;
const TYPE_EMPLOYEE_BY_NUMS = 3;
const TYPE_MANUAL_LIST = 9;

我注意到我的代码没有按照我的预期行事,所以我做了一些调试。

事实证明,PHP正在将这些转换为字符串值。

我可以使用define()强制它们成为整数类型,但为什么这不起作用?

我们正在运行 PHP版本5.3.10 ,因此const应该没问题。

screenshot

1 个答案:

答案 0 :(得分:8)

您必须使用self::访问这些常量,因此对于TYPE_ANNIVERSARY_LIST,它将是self::TYPE_ANNIVERSARY_LIST