函数取值范围可以是a1到an,如果所有范围内的值为非空,则结果是(a1+a2+...+an)/n,如果范围内的某些值ai,aj,...为空,假设a1到an范围内两项为空,则结果为(a1+a2+...+an)/(n-2)。请问能否写个求平均值的自定义函数?

解决方案 »

  1.   

    来源数据格式?我想到的是转为array,去掉空单元
    array_sum/count格式字符串的话可以直接把分隔符替换为+,把中间空值部分(两加号中无内容)替换
    统计+号个数,用eval执行
      

  2.   

    五个decimal类型的数,可能中间有空值,如果其中一项为空,则除以4.
      

  3.   

    我说的是传入方式,字符串?数组?$a=array(1,2,3,4,null,'',5,6);
    $b=array(null,'');
    $c=array_diff($a,$b);
    var_dump($c);
    $d=array_sum($c)/count($c);
    echo $d;
    自己优化一下