PHP - 二维数组 - 循环访问数组键并检索它们的值?

问题描述:

我有输出一个这样的数组:PHP - 二维数组 - 循环访问数组键并检索它们的值?

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; 
} 

有人能够给出一些建议,说明我会如何完成这个任务,甚至是一个更好的方式让我去完成这个任务。任何与此相关的信息,包括可能涵盖此教程的链接,都将不胜感激。谢谢!!

+1

请注意,“值”不是“1”和“2”; KEYS是1和2 - 而与键1和2相关的值是包含“quantity”和“total”的对象。 – 2014-07-15 12:49:00

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

使用上述。

+0

感谢您的输入,我将如何获取关键值tho?在我的例子中,它将分别是1和2。 – 2012-07-30 12:17:10

+0

对不起,请参阅我更新的答案。 – Gavin 2012-07-30 12:20:07

您需要多读一些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(一个合适的名称,因为你的数组包含子阵列)。所以在循环体内,就是你需要询问。

+0

感谢您的意见,因为非常感谢。是的,你对文档也是正确的。但在我的例子中,我也使用了'$ obj'。是否有可能检索这个值?请参阅上面答案中的评论。 – 2012-07-30 12:18:06

+0

那么你的'forEach'语法是错误的,所以我很难准确地使用你的东西。这听起来像你想使用'$ obj'而不是'$ sub_array'。我应该认为我的例子很容易适应你的目的。如果您明确要我编辑以显示此内容,请告诉我。 – Utkanos 2012-07-30 12:20:47