如何将计算的值数组存储为常量


How to store a computed array of values as a constant

我有一个数组$stuff,它由初始化脚本中mysql查询的while循环填充。我有php 5.6,但这两个都失败了:

define("STUFF", $stuff);
const STUFF = $stuff;

如果我明确地把东西打成:

const STUFF = array(234243,44,222,66321);

那就行了。但我不能这样做,因为我需要首先计算stuff数组的内容(但对于后续脚本的其余部分,它是恒定的)。

这不应该在php5.X中工作(即使php引擎没有拒绝该语句,您也可能无法访问这些值):

const STUFF = array(234243,44,222,66321);

常量值,无论是正则常量还是类常量,都需要是标量类型(即不是数组,也不是对象)。PHP 5.6引入了声明数组常量的可能性,但是这些常量不能动态填充。

参考:http://php.net/manual/en/language.constants.syntax.php