我有一个数组$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