我想这样做:
class MyClass {
var $array1 = array(3,4);
var $array2 = self::$array1;
}
和$array2
不工作。
您是否有使一个类属性等于另一个类属性的解决方案/技巧?
最佳答案
根据PHP Manual
:
The default value must be a constant expression, not (for example) a variable, a class member or a function call.
你可以做的是:
class MyClass {
var $array1 = array(3,4);
var $array2 = array();
function MyClass() {
$this->array2 = $this->array1;
}
}
函数 MyClass
(或者 __construct
,如果你是 PHP5)每次创建新对象时都会被调用,所以 MyClass
的任何实例code> 将具有一个 array2
属性,该属性的值与其 array1
属性相同。
$myclass = new MyClass();
print_r($myclass->array1); // outputs Array ( [0] => 3 [1] => 4 )
print_r($myclass->array2); // outputs Array ( [0] => 3 [1] => 4 )
关于php - PHP 类属性可以等于另一个类属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/477066/