我想做这个:
class MyClass {
var $array1 = array(3,4);
var $array2 = self::$array1;
}
Run Code Online (Sandbox Code Playgroud)
并且$array2
不起作用.
你有一个解决方案/技巧来使类属性等于另一个类属性吗?
根据PHP Manual
:
默认值必须是常量表达式,而不是(例如)变量,类成员或函数调用.
你可以做的是:
class MyClass {
var $array1 = array(3,4);
var $array2 = array();
function MyClass() {
$this->array2 = $this->array1;
}
}
Run Code Online (Sandbox Code Playgroud)
每次创建新对象时都会调用该函数MyClass
(或者__construct
如果您使用的是PHP5),因此任何实例都MyClass
将具有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 )
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1405 次 |
最近记录: |