PHP - 2D数组 - 循环数组键并检索它们的值?

时间:2012-07-30 12:12:07

标签: php arrays loops

我有一个输出如下的数组:

1 => 
array
  'quantity' => string '2' (length=1)
  'total' => string '187.90' (length=6)

2 => 
array
  'quantity' => string '2' (length=1)
  'total' => string '2,349.90' (length=8)

我想循环遍历每个数组键并检索与它们相关的3个值的集合,类似这样(这不起作用):

foreach( $orderItems as $obj=>$quantity=>$total)
{
    echo $obj;
    echo $quantity;
    echo $total;
}

是否有人能够就如何实现这一目标提出一些建议,或者甚至是一个更好的方式让我去完成这项任务。任何与此相关的信息,包括可能涵盖此内容的教程链接,都将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:5)

foreach( $orderItems as $key => $obj)
{
    echo $key;
    echo $obj['quantity'];
    echo $obj['total'];
}

使用上述内容。

答案 1 :(得分:2)

您需要更多地阅读forEach()上的文档,因为您的语法和对它的理解有点不正确。

$arr = array(
    array('foo' => 'bar', 'foo2', 'bar2'),
    array('foo' => 'bar', 'foo2', 'bar2'),
);
foreach($arr as $sub_array) {
    echo $sub_array['foo'];
    echo $sub_array['bar'];
}

forEach()迭代地将数组的每个键传递给变量 - 在上面的例子中,$sub_array(一个合适的名称,因为你的数组包含子数组)。所以在循环体内,你需要询问。