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

标签 php class properties

我想这样做:

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,如果你是 PH​​P5)每次创建新对象时都会被调用,所以 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/

相关文章:

php - 带有 json 数组的 jquery-autocomplete

c++ - 如何使boost线程自毁? (C++)

c# - 忽略 PropertyInfo 中的集合属性

php - 如何在 PHP 中转义隐藏的表单值

php - 在没有 die() 或 exit() 的情况下结束 php 标签

java - 使用自定义 LinkedList 类的薪资系统

python - 自动关闭 kivy 中的弹出窗口

javascript - 如何有效地计算 JavaScript 中对象的键/属性的数量

java - 如何在 Java 的应用程序属性文件中保存印地语字符?

javascript - onkeyup 函数仅触发一次