当前位置:  开发笔记 > 编程语言 > 正文

PHP类属性可以等于另一个类属性吗?

如何解决《PHP类属性可以等于另一个类属性吗?》经验,为你挑选了1个好方法。

我想做这个:

class MyClass {
   var $array1 = array(3,4);
   var $array2 = self::$array1;
}

并且$array2不起作用.

你有一个解决方案/技巧来使类属性等于另一个类属性吗?



1> Paolo Bergan..:

根据PHP Manual:

默认值必须是常量表达式,而不是(例如)变量,类成员或函数调用.

你可以做的是:

class MyClass {
    var $array1 = array(3,4);
    var $array2 = array();

    function MyClass() {
        $this->array2 = $this->array1;
    }
}

每次创建新对象时都会调用该函数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 ) 

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有