How to find average from array in php?

前端 未结 4 2251
盖世英雄少女心
盖世英雄少女心 2020-12-03 06:47

Example:

$a[] = \'56\';
$a[] = \'66\';
$a[] = \'\';
$a[] = \'58\';
$a[] = \'85\';
$a[] = \'\';
$a[] = \'\';
$a[] = \'76\';
$a[] = \'\';
$a[] = \'57\';
         


        
4条回答
  •  无人及你
    2020-12-03 07:03

    The accepted answer works for the example values, but in general simply using array_filter($a) is probably not a good idea, because it will filter out any actual zero values as well as zero length strings.

    Even '0' evaluates to false, so you should use a filter that explicitly excludes zero length strings.

    $a = array_filter($a, function($x) { return $x !== ''; });
    $average = array_sum($a) / count($a);
    

提交回复
热议问题