2015-11-22 86 views
0

我有一個數組$ stuff,它由來自我的初始化腳本中的mysql查詢的while循環填充。我有PHP 5.6,但是這兩個失敗:如何將計算值的數組作爲常量存儲

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

如果我明確地打出來的東西爲:

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

隨後的作品。但我不能這樣做,因爲我需要首先計算stuff數組的內容(但對於其餘的後續腳本而言,它是不變的)。

+1

'定義( 「東西」,陣列());'因爲php7.0允許 –

+1

所以只使用一個變量。 –

+0

什麼樣的數據存儲在$的東西?從邏輯上講,它「聞起來」不好,以便將動態數據存儲在常量中。 如果你需要全局的東西,你可以把它存儲在全局變量中,這不是'好習慣'。更好地管理將存儲全局配置數據的配置類。 –

回答

0

這是不應該在PHP 5.X工作(你可能無法訪問這些值即使語句不是由PHP引擎拒絕):

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

的恆定值,無論是常規還是類常量,都需要是標量類型(即不是數組,也不是對象)。 PHP 5.6引入了聲明數組常量的可能性,但是這些不能被動態填充。

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

相關問題