[英]Php: Cannot seem to access array property in object
I have a class called Member. 我有一堂课叫做会员。 I am trying to add a multidimensional array as a property like so: 我正在尝试将多维数组添加为如下属性:
class Member {
public $name;
public $inheritingMembers;
public function __construct($name, $family) {
$this->name = $name;
$this->inheritingMembers = $this->findInheritingMembers($family, $name);
}
function findInheritingMembers($array, $keySearch) {
foreach ($array as $key => $item){
if ($key == $keySearch){
return $item['children'];
} else {
if (is_array($item))
$this->findInheritingMembers($item, $keySearch);
}
}
return false;
}
}
The function "findInherititngMembers" returns a multidimensional array which I can see with var_dump(). 函数“ findInherititngMembers”返回一个多维数组,我可以使用var_dump()看到它。 The problem is, I cannot seem to assign this array as the inheritingMembers property of the Member object. 问题是,我似乎无法将此数组分配为Member对象的InheritingMembers属性。
I think you need another return in your recursive function: 我认为您需要在递归函数中再次返回:
function findInheritingMembers($array, $keySearch) {
foreach ($array as $key => $item){
if ($key == $keySearch){
return $item['children'];
} else {
if (is_array($item))
return $this->findInheritingMembers($item, $keySearch);
}
}
return false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.