假设我有一个这样的数组:
$products = array('Shoes' => array('price' => 49.99, 'shipping' => 5),
'Shirt' => array('price' => 29.99, 'shipping' => 3),
'Socks'=> array('price' => 2.99, 'shipping' => 0)
);
我无法遍历多维数组并添加元素。 PHP初学者有什么提示吗?谢谢。
答案 0 :(得分:1)
$price = 0;
foreach($products as $product) {
$price += array_sum($product);
}
这比使用array_map
更具可读性,但提供相同的输出。
答案 1 :(得分:1)
如果您想要所有产品的总价格,包括运费,您可以使用array_sum
和array_map
在没有明确循环的情况下进行计算:
echo array_sum(array_map('array_sum', $products)); // prints 90.97
请注意array_map
将array_sum
应用于每个内部数组,然后array_sum
最终应用于此操作的结果。
答案 2 :(得分:0)
array_sum: http://php.net/manual/en/function.array-sum.php
代码粗略草图:
$total = 0;
foreach($products as $item => $amount_array){
$total += array_sum($amount_array);
}
答案 3 :(得分:0)
这样的东西?
$products = array('Shoes' => array('price' => 49.99, 'shipping' => 5),
'Shirt' => array('price' => 29.99, 'shipping' => 3),
'Socks'=> array('price' => 2.99, 'shipping' => 0)
);
$total = 0;
foreach($products as $product)
{
$total += $product["price"];
}
echo $total;
您拥有的是每个循环中名为$ product的变量。该变量在第一轮“Shoes”中作为键,数组作为值。所以你可以像普通数组一样调用它。