我想让变量$total[$i]
给出以下函数的结果:
$total[$i] = (array_reduce((array_map(function($x, $y) { return $x * $y; },
$corp_resp[$i], $corp_resp_template)),function($carry,$item){return $carry+=$item;},0));
我从$corp_resp_template
示例收到:$corp_resp array
的数组(0.4,0.2,0.1)(数组(sub1(0.2,0.3,0.5)arraysub2(0.2,0.5,0.7)))
$corp_resp_template
只有一个。 $corp_resp
是包含内部子数组的数组,在这种情况下取决于$carCount
$carCount=2
如果是4则会给出4个子数组,其中将使用$corp_resp_template
插值的值只有一个数组的大小与$corp_resp
相同。
示例操作:
总计1 =(0.4 * 0.2 + 0.2 * 0.3 + 0.5 * 0.1)= 0.19 $总计[0]
总计2 =(0.4 * 0.2 + 0.2 * 0.5 + 0.1 * 0.7)= 0.25 $总计[1]
总值将插入表格的行中。
谢谢。
答案 0 :(得分:1)
一切看起来都很有效:
$corp_resp_template = [0.4,0.2,0.1];
$corp_resp = [[0.2,0.3,0.5],[0.2,0.5,0.7]];
for($i = 0;$i<count($corp_resp);$i++){
$total[$i] = (array_reduce(array_map(function($x, $y){
return $x * $y;
},$corp_resp[$i], $corp_resp_template),function($carry,$item){return $carry+=$item;},0));
}
print_r($total);
出:
Array
(
[0] => 0.19
[1] => 0.25
)