从数组中获取数据

时间:2013-09-27 02:05:23

标签: php

从数组中获取数据的最佳选择是什么?

array(4) { 
    [0]=> array(10) { 
        ["id"]=> string(3) "158" 
        ["name"]=> string(8) "Tractors" 
        ["parent_id"]=> string(1) "0" 
        ["image_id"]=> string(2) "37" 
        ["blurb"]=> string(17) "Agrilife Tractors" 
        ["brand_name"]=> string(4) "SAME" 
        ["brand_id"]=> string(1) "2" 
        ["cat_id"]=> string(1) "1" 
        ["sorder"]=> string(1) "0" 
        ["state"]=> string(1) "1" 
     } 
     [1]=> array(10) { 
        ["id"]=> string(3) "159" 
        ["name"]=> string(8) "Ride Ons" 
        ["parent_id"]=> string(1) "0" 
        ["image_id"]=> string(2) "74" 
        ["blurb"]=> string(0) "" 
        ["brand_name"]=> string(4) "SAME" 
        ["brand_id"]=> string(1) "2" 
        ["cat_id"]=> string(1) "2" 
        ["sorder"]=> string(1) "1" 
        ["state"]=> string(1) "1" 
     } 
     [2]=> array(10) { 
        ["id"]=> string(3) "160" 
        ["name"]=> string(9) "Machinery" 
        ["parent_id"]=> string(1) "0" 
        ["image_id"]=> string(2) "14" 
        ["blurb"]=> string(0) "" 
        ["brand_name"]=> string(4) "SAME"
        ["brand_id"]=> string(1) "2" 
        ["cat_id"]=> string(1) "3" 
        ["sorder"]=> string(1) "2" 
        ["state"]=> string(1) "1" 
     } 
     [3]=> array(10) { 
        ["id"]=> string(3) "161" 
        ["name"]=> string(17) "Outdoor Equipment" 
        ["parent_id"]=> string(1) "0" 
        ["image_id"]=> string(3) "114" 
        ["blurb"]=> NULL 
        ["brand_name"]=> string(4) "SAME" 
        ["brand_id"]=> string(1) "2" 
        ["cat_id"]=> string(1) "5" 
        ["sorder"]=> string(1) "3" 
        ["state"]=> string(1) "1" 
     } 
 }
 Tractors

我的HTML看起来像这样我试图foreach将所有相关数据输出,以便我可以在需要的时间或地点回应。

HTML:

 foreach($assoc_categories as $assoc_cat)
 {
     // Page load - does assoc exist?
     $checked_state = "";
     $does_assoc_exist = $this->Ps_products_model->brand_specific_cat_assoc_exist($brand_id, $assoc_cat['id']);
     if($does_assoc_exist == "1")
     {
         $checked_state = " checked='checked'";
     }
 ?>

     <div>
         <input type="checkbox" name="product_category" class="product_category_selector" id="product_category_<?php echo $assoc_cat['id']; ?>" data-id="<?php echo $assoc_cat['id']; ?>" <?php echo $checked_state; ?> /> <?php echo $assoc_cat['name']; ?>
     </div>
     <input class="order" type="input" />

 <?php
 }
 ?>

1 个答案:

答案 0 :(得分:0)

要转储所有值,您需要嵌套foreach,如下所示:

foreach ($original_array as $sub_array) {
    foreach ($sub_array as $key=>$value) {
        echo $key.' '.$value.'<br>';
    }
}

要获得一个值,您需要使用其地址访问它。它可能没有设置,所以请先检查:

foreach ($original_array as $sub_array) {
    // Say you want all the `name`s
    if (isset($sub_array['name'])) {
        echo $sub_array['name'].'<br>';
    }
}