PHP foreach不适用于子数组 [英] PHP foreach not working with sub-array

查看:81
本文介绍了PHP foreach不适用于子数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要弄清楚如何使以下内容起作用。

I need to work out how to do I get the following to work.

我有一个带有子数组的数组

I have an array with sub-array

array (
  'session' => '1359964785.85203874781',
  'status' => 'cart',
  'items' => 
  array (
    'id' => '510bca8138fc5d6e38000000',
    'quantity' => '1',
  ),
)

然后当我将该数组放入我的foreach时

then when I put that array thought my foreach

<?php
       $cart = Shop::get_cart();
       ;
            if($cart != NULL)
            { 
                foreach($cart[0]['items'] as $items)
                {
                    print $items['id'];
                ?>
                <tr>

                </tr>
                <?php
                }   
            }
       ?>

我似乎无法访问项目的子数组。

I can't seem to access the sub array for items. What I want to be able to do is call it like

$items["id"];
$items["quantity"];

编辑

我正在通过以下代码从MongoDB中获取数据

I am getting the data from MongoDB by the following code

public function get_cart()
    {
        $collection = static::db()->redi_shop_orders;
        $cursor = $collection->find(array('session' => $_SESSION["redi-Shop"]));
        if ($cursor->count() > 0)
        {
            $posts = array();
            // iterate through the results
            while( $cursor->hasNext() ) {   
                $posts[] = ($cursor->getNext());
            }
            return $posts;
        }
    }

当我执行打印输出时会返回

which when I do a print out returns

Array ( [0] => Array ( [_id] => MongoId Object ( [$id] => 510f8eba38fc5d7d43000000 ) [session] => 1359964785.85203874781 [status] => cart [items] => Array ( [id] => 510bca8138fc5d6e38000000 [quantity] => 1 ) ) )


推荐答案

您应该替换

foreach($cart[0]['items'] as $items)

foreach($cart['items'] as $items)

这篇关于PHP foreach不适用于子数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆