2012-03-08 13 views
2

初期化子メンバーの配列()で連結:PHPのエラー、私は次のコードでエラーが出てい

public $arr = array('email' => '[email protected]' . str_replace('http://', '', SERVER_ROOT)); 

Parse error: syntax error, unexpected '.', expecting ')' 

アム私は本当に愚かなことを?確かに私はここで文字列を連結できますか?

これはクラスで宣言された変数です。

+0

あなたがそれを試してみました「二重引用符? '」管理者@" ' –

+0

問題 –

+0

@Martinうんではありませんノー@Martin .... –

答えて

5

クラス属性を式で初期化することはできません。コンストラクタでそれを行うか、通常の文字列のように固定値を使用する必要があります。

+0

本当に?まあ前にそれを知りませんでした。乾杯@xato :-) –

1

これは誤りである、あなたは

クラスのメンバ変数は、「プロパティ」と呼ばれているこの

プロパティのようなプロパティを初期化することはできません。また、 は「属性」や「フィールド」などの他の用語を使用して表示されますが、 は「プロパティ」を使用します。それらは、 のキーワードpublic、protected、またはprivateのいずれかを使用して定義されます。 に続いて、通常の変数宣言が続きます。この宣言は に初期化、を含めることができますが、この初期化は定数値でなければなりません。つまり、コンパイル時に評価できる必要があり、評価するためにランタイム情報に依存してはいけません。

+0

多くのおかげで@ニコラ、これを知らなかった:-) –

関連する問題