gpt4 book ai didi

php - 无法将可调用结果分配给数组

转载 作者:可可西里 更新时间:2023-11-01 01:13:12 26 4
gpt4 key购买 nike

我想将一个狗对象添加到数组中,然后 var_dump 它,但数组仍然是空的。我是否违反了 OOP 概念的某些规则?

class Dog {

public $name;
public $bread;

}

class MyClass {

public $dogArr = [];

public function __construct( $key , callable $callback ) {
$dogArr[$key] = $callback ();
}

}

public function actionTest() {

$newDog = new \backend\components\MyClass ( "first" , function () {
$dog = new \backend\components\Dog();
$dog->name = "Archi";
$dog->bread = "Pomeran";
return $dog;
} );

var_dump ( $newDog->dogArr );
}

最佳答案

您只需要对您的MyClass 构造函数做一点小改动:

改变:

$dogArr[$key] = $callback();

$this->dogArr[$key] = $callback();

否则你只是在局部变量中设置一个值,而不是类属性。

关于php - 无法将可调用结果分配给数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47513223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com