具有id的多维关联数组

时间:2015-04-09 12:29:56

标签: php mysql arrays multidimensional-array associative-array

我想从3个mysql表创建一个3维数组(部分(id,title)=> rubriques (id,title)=>的类别(适用ID,标题):

 [0]  section_title_1
      section id 1 
        [0] rubrique_title_1
            rubrique id 1
                [0] category_title_1
                    category id 1
                [1] category_title_2
                    category id 2 
                [2] ........................
        [1] rubrique_title_2
            rubrique id 2
            ...................

[1]  section_title_2
     ......... 

这是我的代码没有 ID:

$output = array();
$sections = $this->_model->get_table_sections();

  foreach($sections as $section){
  $output[$section->section_title] = array();

    $rubriques = $this->_model->get_rubriques_for_a_section($section->section_id);
       foreach($rubriques as $rubrique){
       $output[$section->section_title][$rubrique->rubrique_title] = array();

      $categories =$this->_model->                    get_categ_for_a_section_and_a_rubrique($section->section_id,$rubrique->rubrique_id);
    foreach($categories as $categorie){
         $output[$section->section_title][$rubrique->rubrique_title][] =    $categorie->categorie_title;
    }
  }
}

我的问题:

如何 ID (部分,rubrique,数组中的类别OUTPUT ??

我试过了:

$output[$section->section_title] = array("section id" => $section->section_id);

       $output[$section->section_title][$rubrique->rubrique_title] = array("rubrique id" => $rubrique->rubrique_id);

            $output[$section->section_title][$rubrique->rubrique_title][$categorie->categorie_title] = array("catid" => $categorie->categorie_id);

但是对于类别,有问题....

array (size=41)
  'Agriculture' => 
    array (size=4)
      'section id' => string '1' (length=1)
        'Agriculture' => 
           array (size=43)
            'rubrique id' => string '1' (length=1)
              'Andaineuse' => 
               array (size=1)
               ...
              'Arroseur' => 
               array (size=1)

有人能发现我出错的地方吗?感谢帮助!
非常感谢............

1 个答案:

答案 0 :(得分:0)

这可能就是答案:

$output[$section->section_title][$rubrique->rubrique_title][$categorie->categorie_title] = array("catid" => $categorie->categorie_id);

但我建议你在数组中使用ID作为键而不是标题。

$output[$section->section_id][$rubrique->rubrique_id][$categorie->categorie_id][] = $categorie->categorie_title;

它更清晰,独特,它应该按你的意愿工作。在foreach中,您可以轻松获得密钥(ID):

foreach($output as $key => $title) { ...