【问题标题】:Multidimensional associative array with id带id的多维关联数组
【发布时间】:2015-06-14 19:42:06
【问题描述】:

我想从 3 个 mysql 表中创建一个 3 维数组(sections(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;
    }
  }
}

我的问题:

如何在数组 OUTPUT 中有ID(section,rubrique,category ??

我试过了:

$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);

但是对于 category ,有问题....

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)

谁能发现我哪里出错了?感谢您的帮助!
非常感谢............

【问题讨论】:

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


    【解决方案1】:

    这可能是答案:

    $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) { ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-25
      • 2013-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-21
      • 2021-05-23
      相关资源
      最近更新 更多