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中文网其他相关文章!