持有对象的Php数组对象。将变量添加到现有对象

时间:2012-04-27 08:57:48

标签: php arrays object recursion loops

我想构建一个包含子项的页面对象数组

我有两个创建父链接的函数。

我遍历父链接并找到孩子。

我想添加一个attribut,它是一个子对象数组到父链接。

如果可能的话,我想对每个孩子进行递归,直到找不到孩子为止。

我希望这是有道理的。

function get_links(){
   $links = array();
   $parent_links = $this->pages_model->get_by_parent(0);//where parent_id = 0;
   $count = 0;
   if(isset($parents_links)&&(count($parent_links)>0)){
       foreach($parent_links as $l){
           $children = $this->get_child_links($l->id);//array _ push results
           if($children != false){
               $l->children = $children;
           }else{
               $l->children = FALSE;
           }
           unset($children);
       }
   }
   return $parent_links;
}

function get_child_links($parent_id){
   $links = $this->pages_model->get_by_parent($parent_id);
   return $links;
}

1 个答案:

答案 0 :(得分:0)

首先,不要这样做

function get_child_links($parent_id){
   $links = $this->pages_model->get_by_parent($parent_id);
   return $links;
}

这样做

function get_child_links($parent_id){
   return $this->pages_model->get_by_parent($parent_id);
}

它可以加快引擎的速度