PHP ドキュメントでは、クラス プロパティ宣言は定数値で初期化できると記載されています。ただし、定数以外の式を使用して配列を初期化しようとすると、構文エラーが発生しました。
構文エラーの例:
<code class="php">public $var = array( 1 => 4, 2 => (4+1), // Syntax error );</code>
根本的な問題:
このエラーは、プロパティ宣言では定数値のみが許可されていた PHP 5.5 以前のバージョンの制限に起因します。これには、コンパイル時に評価できる値が含まれます。ただし、「4 1」などの計算式の使用は禁止されていました。
PHP 5.6 での解決策:
この制限は、PHP 5.6 の導入により解除されました。定数スカラー式の。この機能により、次の構文が可能になります:
<code class="php">public $var = array( 1 => 4, 2 => (4+1), ); public $var = 4+1;</code>
結論:
以前のバージョンの PHP では、非定数式でクラス プロパティを初期化するときに構文エラーが発生しました。 PHP 5.6 以降のバージョンでは解決されています。定数スカラー式により、開発者はコンパイル時に評価できる計算値でプロパティを初期化できるようになりました。
以上がPHP クラスのプロパティは非定数式で初期化できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。