PHP多级数组

时间:2014-05-28 17:32:20

标签: php arrays

我需要创建一个列表来通过php数组显示我的产品。

示例:

Apple
 -Mac book
 -iPod
HTC
 -Mobile Phone

依旧......

如何像这样存储数组以及如何将其循环出来?

嗯,实际上这是我的代码 我是opencart的新手,所以对我来说很困惑。

        <?php $i=0; foreach ($products as $product) { $i++; 

                    $query = $this->db->query("select * from oc_product_to_category where product_id=".$product['product_id']);

                    $category_id=$query->row['category_id'];
                    $query=$this->db->query("select * from oc_category where category_id=".$category_id);

                    if($query->row['parent_id']!=0){
                    $parent_id=$query->row['parent_id'];
                    $query=$this->db->query("select * from oc_category where category_id=".$parent_id);
                    $pparent_id=$query->row['parent_id'];

                    if($pparent_id!=0){
                    $query=$this->db->query("select * from oc_category where category_id=".$pparent_id);
                    }
                    }

                   if($pparent_id!=0){
                   $query=$this->db->query("select * from oc_category_description where category_id=".$pparent_id);
                   $one=$query->row['name'];

                   $query=$this->db->query("select * from oc_category_description where category_id=".$parent_id);
                   $two=$query->row['name'];

                   $query=$this->db->query("select * from oc_category_description where category_id=".$category_id);
                   $three=$query->row['name'];


                   }
    ?>

我的目的是生成涉及制造商产品的类别列表。

3 个答案:

答案 0 :(得分:1)

您可以将其存储为

 $array = array("Apple"
            => array("Mac book",
                      "iPod")
              ,
             "HTC"
             =>array("Mobile Phone")
              );

现在你可以使用forach(),for()或while()

来遍历它
foreach($array as $ar){
   if(is_array($ar))
   {
     foreach($ar as $sec_ar)
     {   
     echo $sec_ar;
     }
   }

}

答案 1 :(得分:0)

$apple= array(

    array(
        'name'=> 'mac book',
        'cost'=>'$22',
        'color'=>'white'),  
);

要访问它(你可以在这里使用foreach循环)作为一般例子:

<?php echo $apple[0]['name']; ?>

答案 2 :(得分:0)

查看嵌套的foreach循环...

foreach($food as $fruit){
  foreach($fruit as $apple){

  }
}

那是有效的PHP ... http://www.php.net/manual/en/control-structures.foreach.php