我怎样才能获得数组的每个值?

时间:2016-11-07 07:59:45

标签: php arrays codeigniter

我有一个这样的数组:

array(3) {
    ["data"]=> array(1) {
        ["mesq_G3SC"]=> array(1) {
            ["data"]=> object(stdClass)#30 (19) {
                ["cart_id"]=> string(13) "mesq_G3SC"
                ["qty"]=> string(4) "2.00"
                ["price"]=> string(5) "11400"
                ["product_id"]=> string(1) "6"
                ["member_id"]=> string(1) "5"
                ["session_id"]=> string(32) "4dedde2a2eb12b25e940b7051a5f65a1"
                ["date_added"]=> string(19) "2016-09-28 10:39:06"
                ["date_modified"]=> string(19) "2016-09-28 10:39:06" 
                ["status"]=> string(7) "pending"
                ["category_id"]=> string(1) "2" 
                ["location"]=> string(9) "England"
                ["square"]=> string(3) "300"
                ["stock"]=> string(3) "260"
                ["folder_name"]=> string(23) "assets/uploads/products"
                ["photo1"]=> string(11) "photo1.jpg"
                ["photo2"]=> string(11) "pc.jpg"
                ["category_name"]=> string(6) "PC"
                ["is_published"]=> string(1) "1"
                ["modified_by"]=> NULL
            }
        }
    }
    ["total_item"]=> int(1)
    ["total_price"]=> string(8) "11400.00"
}

我想用foreach获取该数组的每个值但是我得到了错误

  

尝试获取非对象的属性......

我用 Codeigniter 开发了这个,这是我的foreach

foreach ($data as $row) {
  echo $row->product_id;
}

如果我print_r($row)这就是我得到的:

Array ( [mesq_G3SC] => Array ( [data] => stdClass Object ( [cart_id] => mesq_G3SC [qty] => 2.00 [price] => 11400 [product_id] => 6 [member_id] => 5 [session_id] => 4dedde2a2eb12b25e940b7051a5f65a1 [date_added] => 2016-09-28 10:39:06 [date_modified] => 2016-09-28 10:39:06 [status] => pending [category_id] => 2 [lokasi_lahan] => England [square] => 300 [stock] => 260 [folder_name] => assets/uploads/products [photo1] => photo1.jpg [photo2] => photo2.jpg [category_name] => PC [is_published] => 1 [modified_by] => ) ) ) 1 11400.00

任何人都知道如何获取该数组的每个值?

2 个答案:

答案 0 :(得分:0)

如果mesq_G3SC是您要迭代的键 - 我建议您执行以下操作

node-debug whateverSpec.js

更新:我模拟你的数组 - 它就像一个魅力 - 键有问题 - 而不是var_dump尝试print_r你的数据数组并向我们显示输出pls

答案 1 :(得分:0)

我重新创建了你的多维数组,如果你想得到最深的值,这就是:

$deepest_values = array();
    foreach($arr_ as $first_level_key => $first_level_value) {
        if(is_array($first_level_value)) {
             foreach($first_level_value as $second_level_key => $second_level_value) {
                if(is_array($second_level_value)) {
                    foreach($second_level_value as $third_level_key => $third_level_value) {
                        if(is_array($third_level_value)) {
                            foreach($third_level_value as $fourth_level_key => $fourth_level_value) {
                                $deepest_values[$fourth_level_key] = $fourth_level_value;
                            }
                        }

                    }
                }
             }
         }
    }

echo '<pre>';
print_r($deepest_values);
echo '</pre>';