PHP7
上的正在运行,并且我正在使用define()
函数来定义数组。一切正常。
define('JOBS_CREATORS', ['aaa@admin.com', 'bbbb@admin.com']);
我们知道它可以在PHP7
版本中使用。我用Google搜索并找到了const
或更低版本的PHP5.6
关键字。
据我所知const
仅在class
中起作用。
但是我正在使用WordPress,因此我需要在functions.php
文件中进行定义。
是否有其他方法可以在不使用class
的情况下定义数组?
答案 0 :(得分:1)
您可以更新常量以接受序列化数组。
define('JOBS_CREATORS', serialize(['aaa@admin.com', 'bbbb@admin.com']));
然后
if(in_array("aaa@admin.com", unserialize(JOBS_CREATORS))){ ...
答案 1 :(得分:0)
在PHP 5.6中,仍然可以使用const
关键字来做到这一点(请参阅本文):
PHP Constants Containing Arrays?
const JOBS_CREATORS = ['aaa@admin.com', 'bbbb@admin.com'];
答案 2 :(得分:0)
@Spudley 建议使用json_encode
而不是serialize
。我将json_encode
和json_decode
用作:
定义:
define('JOBS_CREATORS', json_encode(['aaa@admin.com', 'bbbb@admin.com']));
获取:
echo '<pre>';print_r(json_decode(JOBS_CREATORS)); echo '</pre>';
但是 @TahaPaksu 的答案也很有用。
感谢 @Spudley 和 @TahaPaksu :)