df = pd.DataFrame({ '1': ['Mon (07/08)','Sales', '2'],
'2': ['Mon (07/08)','Stock','3'],
'3': ['Mon (07/08)','Qty','4'],
'4': ['Tue (08/08)','Sales', '4'],
'5': ['Tue (08/08)','Stock','5'],
'6': ['Tue (08/08)','Qty','6']})
df
仅产生最后一个元素:
int(24)int(12)
结果必须是: INT(6) INT(12) INT(24)
我想计算数组中所有元素的总和,但只计算最后一个元素。
答案 0 :(得分:2)
迭代作为引用传递的数组的每个元素并在循环内更新,如下所示:
$amount = 2;
$array = array(3,6,12);
foreach($array as &$a){
$a = $a*$amount;
}
var_dump($array);
答案 1 :(得分:1)
如果你说你想要计算数组$ sum的元素是不必要的。
您可以使用array_reduce
您可以查看文档here
function sumArray($carry, $item)
{
$carry += $item;
return $carry;
}
array_reduce($array, "sumArray");
如果您需要使用(6,12,24)获取数组,可以使用
function sumArray($item)
{
return $item*2;
}
array_map("sumArray",$array); //array(6,12,24)
答案 2 :(得分:0)
如果这确实是你的代码,你应该得到很多未定义的错误。你说你想得到总和,那你为什么要乘以$amount
?
你想这样做:
<?php
$array = array(3,6,12);
$total = 0;
foreach($array as $a){
$total += $a;
}
甚至更容易: 只需使用array_sum:
array_sum - 计算数组中值的总和
像这样:
<?php
$array = array(3,6,12);
echo array_sum($array);
答案 3 :(得分:0)
使用array_map:
function double($v)
{
return $v * 2;
}
$a=array(3, 6, 12);
$resArr = array_map("double" ,$a));
结果将是一个数组[6, 12, 24]