сумма массива возвращает 0 как результат - PullRequest
0 голосов
/ 26 мая 2020

Итак, у меня есть массив таким образом.

array(16)
[0] => float(0.3704)
[1] => float(0.1103)
[2] => float(0.1745)
[3] => float(0.2687)
[4] => int(0)
[5] => float(0.4157)
[6] => float(0.2125)
[7] => float(0.2202)
[8] => float(0.2138)
[9] => float(0.2238)
[10] => float(0.1373)
[11] => float(0.2128) 
[12] => float(0.1522)
[13] => float(0.1266)
[14] => float(0.0556)
[15] => float(0.4103)

То, что я делаю, это цикл

$gp=array();
$test = array_sum($gp);
foreach ( $summary as $oemName => $oemValues ){
$gp[]                   +=  $oemValues->gross_profit_percent;
}
var_dump($test); die();

Когда я пытаюсь выполнить array_sum, я возвращаю int (0), кто-нибудь сталкивался с этим?

Ответы [ 2 ]

1 голос
/ 26 мая 2020

У вас нет такого массива - $gp = array(); - вы устанавливаете его в пустой массив перед вызовом array_sum.

Это даст вам 0.

0 голосов
/ 26 мая 2020

в вашем коде вы создаете новый массив, используя array(), и вы получаете sum в следующей строке. так что он возвращает 0 как сумму, потому что сумма пустого массива равна 0, поэтому попробуйте получить сумму и после foreach l oop и добавьте array_pu sh () внутри foreach

$gp=array();
foreach ( $summary as $oemName => $oemValues ){
 array_push($gp,$oemValues->gross_profit_percent);
}
$test = array_sum($gp);
var_dump($gp)//for print array
var_dump($test); //for print sum
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...