【发布时间】:2015-02-08 12:49:52
【问题描述】:
取自PHP manual:
与任何其他 PHP 静态变量一样,静态属性只能是 使用文字或常量初始化;不允许表达。 因此,虽然您可以将静态属性初始化为整数或数组 (例如),你不能将它初始化为另一个变量, 函数的返回值,或者一个对象。
所以这意味着我不能执行以下操作,因为 a) 不允许使用表达式,b) 不允许使用函数返回值。
class MyClass {
// I can't do this.
public static $var = 10 * 2;
// I can't do this.
public static $sum = array_sum( array( 3, 5, 6 ) );
}
但是,关于b) 不允许函数返回值,那么当array() 是一个有返回值的函数时,为什么可以执行以下操作?
class MyClass {
// I can do this.
public static $array = array( 3, 5, 6 );
}
【问题讨论】:
-
这不是函数,而是语言结构。
标签: php