【发布时间】:2015-01-01 18:44:38
【问题描述】:
我对使用新引入的数组类常量的 in_array 有疑问。当我将包含数组的类常量放入函数时,我收到警告:
Warning: in_array() expects parameter 2 to be array, unknown given in...
代码:
foreach ($fields as $key => $value) {
if (in_array($key, self::FIELDS)) $this->$key = $value;
}
常量(类内):
const FIELDS = [
self::FIELD_ID,
self::FIELD_STREET,
self::FIELD_HOUSE_NR,
self::FIELD_POSTCODE,
self::FIELD_CITY,
self::FIELD_PERSONAL_NUMBER,
self::FIELD_SELLER_NAME,
'empty'
];
这个问题最奇怪的部分是它可以在我的本地机器上运行,没有任何错误/警告(Mac)运行 PHP 5.6.2,但在我的服务器上也运行 PHP 5.6.2。
如何解决此错误? (我不想使用静态数组...)
【问题讨论】:
-
自我是什么::FIELDS
-
显然 self::FIELDS 不是你想的那样,你能甩掉它吗?
-
在我的本地机器上,self::FIELDS 是一个包含 8 个字符串的数组(应该是这样)。在我的服务器上它是“未知:0”。
-
在这种情况下,发布的代码不相关。
-
我在帖子中添加了常量定义。
标签: php arrays class constants