2012-10-22 41 views
1

我一直在用,几乎对我的作品,我从HERE有一个功能玩耍的关联数组,但它增加了一个额外的数组,我不想。该信息被存储在我的数据库,像这样:建立从父子关系

enter image description here

方法

private function buildCategories($array,$parent) 
{ 
    $result = array(); 
    foreach($array as $row) 
    { 
     if($row['parent'] == $parent) 
     { 
      $result[$row['category_name']] = $this->buildCategories($array,$row['category_id']); 
     } 
    } 
    return $result; 
} 
$json = json_encode($this->buildCategories($array,NULL)); 
return $json; 

我想这一点:

{"reloading":{"components","presses and dies","tumblers & scales","tools & accessories","shotshell reloading"} 

但我得到的是这样的:

{"reloading":{"components":[],"presses and dies":[],"tumblers & scales":[],"tools & accessories":[],"shotshell reloading":[]} 

注:我已经问过类似的问题,但它并不是建立一个关联数组。既然不喜欢我原来问我想通了所需的另一个线程。

回答

6

你可以得到这样的:

{"reloading":["components","presses and dies","tumblers & scales","tools & accessories","shotshell reloading"]} 

代码:

private function buildCategories($array,$parent) 
{ 
    $result = array(); 
    foreach($array as $row) { 
     if($row['parent'] == $parent) { 
      if ($row['parent'] == NULL) { 
       $result[$row['category_name']] = $this->buildCategories($array,$row['category_id']); 
      } else { 
       $result[] = $row['category_name']; 
      } 
     } 
    } 
    return $result; 
} 
+0

显然,我需要给这个编码废话了。我花了3小时试图让这对我自己和你钉它在不到5分钟内。太棒了,谢谢你! – Mike