Я хочу иметь эту переменную $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
пример: массив (0.4,0.2,0.1) для $corp_resp array
(массив (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]
Эти итоговые значения будут вставлены в строки таблицы.
Спасибо.
Все выглядит вполне рабочим:
$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
)
Других решений пока нет …