Possible Duplicate:
Syntax error while defining an array as a property of a classPHP静的変数の初期化
私は、次の操作を実行しようとしている:
final class TestClass {
public static $myvar = 10*10; //line 3
//rest of code...
}
が、私はこのエラーを取得しています:syntax error, unexpected '*', expecting ',' or ';' [line 3]
は、なぜこれが可能ではないでしょうか?もちろん、もし私が10 * 10から100に変えれば、すべてがうまくいく。 数学計算で静的変数を初期化することはできませんか?何とかできない?
のthatsだと思います静的ゲッター関数を作成することができます:http://stackoverflow.com/a/7785213/1335996 –
PHP 5.6では 'static'はスカラー式を使用することができますので、あなたの質問のコードは完全にworですPHP> = 5.6のkableスカラー式は、数学、ビット単位、論理、連結、三項演算子および比較演算子と組み合わせた整数、浮動小数点数、文字列および定数を含むことができる。 たとえば、以下の定義がクラス内で正しくなりました: 'public static $ bar ="このクラス名は ".__ CLASS __;' 'public static $ baz = 8 >> 1;' 'public static $ bat = 10 + 3 * 2; –