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

予期しないT_VARIABLEエラーが発生しました。配列を作成するときに変数を使用することはできませんか?このphpの問題は何ですか?

この宣言がクラス内にある、とVARを取り外すとき、私は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'を使わないでください。 –

関連する問題