致命错误:PHP

时间:2017-04-10 13:50:55

标签: php arrays array-map array-reduce

我有那个代码,我想将corp_resp与corp_resp_template相乘并动态求和。

$total = (array_reduce((array_map(function($x, $y) { return $x * $y; },
                   $corp_resp, $corp_resp_template)),function($carry,$item){return $carry+=$item;},0));
echo $total;

代码:

 $valor[] = array();
   foreach ( $_POST as $key => $value ){

       $valor[] = $value;

corp_resp输出:

array(17) { [0]=> array(0) { } [1]=> string(4) "0.00" [2]=> string(4) "0.00" [3]=> string(4) "0.00" [4]=> string(4) "0.00" [5]=> string(4) "0.50" [6]=> string(4) "0.00" [7]=> string(4) "0.00" [8]=> string(4) "0.00" [9]=> string(4) "0.00" [10]=> string(4) "0.50" [11]=> string(4) "0.00" [12]=> string(4) "0.00" [13]=> string(4) "0.00" [14]=> string(4) "0.00" [15]=> string(4) "0.00" [16]=> string(4) "0.00" } 

代码:

$corp_resp_template = array();

while ($mostrar = mysql_fetch_array($consulta)) {

$corp_resp_template[] = $mostrar['corp_resp_template'];
}

corp_resp_template输出:

array(17) { [0]=> string(4) "0.15" [1]=> string(4) "0.15" [2]=> string(4) "0.15" [3]=> string(4) "0.15" [4]=> string(4) "0.15" [5]=> string(4) "0.15" [6]=> string(4) "0.15" [7]=> string(4) "0.15" [8]=> string(4) "0.15" [9]=> string(4) "0.15" [10]=> string(4) "0.15" [11]=> string(4) "0.15" [12]=> string(4) "0.15" [13]=> string(4) "0.15" [14]=> string(4) "0.15" [15]=> string(4) "0.15" [16]=> string(4) "0.15" } 

发出以下错误:Fatal error: Unsupported operand types in C: 2是数组。

另一个疑问是当我有corp_resp_template并且我想在同一个函数中为diferents corp_resp做结果时如何工作?

1 个答案:

答案 0 :(得分:0)

这是通过array_shift函数解决的。格式数组在两个变量中都不同,为什么会出现错误。