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;
}
有人能够给出一些建议,说明我会如何完成这个任务,甚至是一个更好的方式让我去完成这个任务。任何与此相关的信息,包括可能涵盖此教程的链接,都将不胜感激。谢谢!!
foreach($orderItems as $key => $obj)
{
echo $key;
echo $obj['quantity'];
echo $obj['total'];
}
使用上述。
感谢您的输入,我将如何获取关键值tho?在我的例子中,它将分别是1和2。 – 2012-07-30 12:17:10
对不起,请参阅我更新的答案。 – 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
(一个合适的名称,因为你的数组包含子阵列)。所以在循环体内,就是你需要询问。
感谢您的意见,因为非常感谢。是的,你对文档也是正确的。但在我的例子中,我也使用了'$ obj'。是否有可能检索这个值?请参阅上面答案中的评论。 – 2012-07-30 12:18:06
那么你的'forEach'语法是错误的,所以我很难准确地使用你的东西。这听起来像你想使用'$ obj'而不是'$ sub_array'。我应该认为我的例子很容易适应你的目的。如果您明确要我编辑以显示此内容,请告诉我。 – Utkanos 2012-07-30 12:20:47
请注意,“值”不是“1”和“2”; KEYS是1和2 - 而与键1和2相关的值是包含“quantity”和“total”的对象。 – 2014-07-15 12:49:00