2011-08-03 100 views
2
var $foo = array('foo' => $bar); 

我收到了一個意外的T_VARIABLE錯誤。創建數組時,我不能使用變量?這個php行有什麼問題?

這個聲明是一個類裏面,我運行PHP v5.3.2

拆卸時變種,我得到另一個錯誤Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION

感謝

+0

這個聲明是一個類的內部... – AlexBrand

+0

HTTP: //www.php.net/manual/en/language.variables.basics.php – Timur

回答

6

var不是PHP語法...一個簡單的

$foo = array('foo' => $bar); 

就足夠了。

+0

刪除var後我得到另一個錯誤...查看編輯 – AlexBrand

+0

@alex:你不能在類中聲明'動態'變量。他們必須對常數進行評估。 '$ var = array('a'=>'b')'會變得精細,因爲這一切都是恆定的。你有'$ bar'在那裏,這是不恆定的,因此錯誤。如果你需要在對象中動態地分配一個變量,你必須在構造函數中完成。 –

+0

即使變量是在數組之上聲明的? – AlexBrand

1

關鍵字var僅用於在類中聲明變量(即實例變量),但即使是PHP4語法也是如此,並且當前已棄用。這將做你想要什麼:

$foo = array('foo' => $bar); 
+0

這是一個類... – AlexBrand

+0

PHP中沒有'var'關鍵字。有變量的全局/保護/私有/公共前綴,但沒有'var'。 –

+1

如果您使用的是PHP的最新版本,我認爲它實際上已被完全棄用。從PHP 5.4開始(如果我沒有記錯的話),只是不要使用'var'。 –