所以,这很奇怪,我有这种方法称为treetrunk,运行一个父子关系,应该返回一个数组,如果ids作为“branchPath” - 该方法似乎作为一个var_dump在我的终止条件显示正确的数组工作得很好。但是,如果我尝试调用返回的数组是“空”的方法 - 我真的不明白..php codeigniter - var_dump显示数组,但返回为空
型号方法:
function treeTrunk($id){//1st id in is page id
if($id == '0'){
var_dump($this->branchPath); //this shows perfect array
return $this->branchPath; //this returns null
}
else{
$q = $this->getWhere(array('id'=>$id),null,null);
array_push($this->branchPath, $q[0]['pageParent']);
$this->treeTrunk($q[0]['pageParent']);
}
}
通过控制器调用:从
$d = $this->pages_mdl->treeTrunk('150');
var_dump($d); // <- this == NULL
的var_dump (3){[0] => string(3)“148”[1] => string(3)“146”[2] => string(1)“0”}“
不会因为你在“150”,而if语句寻找“0”发送这只是返回null?因此不会有任何回报。 else部分是做什么的,递归地调用它自己?这有没有得到任何回报? – StickMaNX