我有一个像这样的数组
print_r($_POST['Receipt']['name']);die();
将显示一个数组
Array ( [Donations] => Array ( [name] => Donations ) [500] => Array ( [amount] => 500 ) [Others] => Array ( [name] => Others ) [600] => Array ( [amount] => 600 ) )
我怎样才能获得数值? 我试过这样的事情
foreach ( $_POST['Receipt']['name'] as $id => $prop )
{
if(is_numeric($_POST['Receipt']['name'][$id]))
{
$total_cash= $total_cash + $_POST['Receipt']['name'][$id];
}
}print_r($total_cash);die();
但我的值为零而不是1100.我想得到数值的总和。
答案 0 :(得分:1)
首先:您应该考虑在此重新考虑您的数据结构。它非常多余。以下类型的数组将起到相同的作用而不会膨胀:
Array ( Donations, 500, Others, 600)
在我看来,表示数据含义的结构看起来像
Array ( [Donations]=> 500, [Others]=> 600)
你的方法基本上没有错。但是你应该在添加变量之前初始化变量$ total_cash。
根据您现在拥有的数据结构,我会这样:
<?php
$total_cash = 0;
foreach ($my_array as $item){
if (isset($item['amount'])){
$total_cash += $item['amount'];
}
}
print_r($total_cash);
die();
?>
此致
的Stefan