代码之家  ›  专栏  ›  技术社区  ›  Googlebot

如何在php中计算移动平均值(数组前n个元素的平均值)?

  •  0
  • Googlebot  · 技术社区  · 6 年前

    PHP 具有 trader_sma 用于计算移动平均值。因为这个概念很简单,所以我试着编写一个函数来实现。为此,我保留了最后一个 n 循环期间数组中的元素,如

    function sma($array,$period){
        foreach($array as $element){
            $c[$element[0]]=$element[1];
                if(count($c)>$period){
                    $garbage = array_shift($c);
                    $average = array_sum($c)/$period;
                    $result[]=array($element[0],$average);
                }
        }
    return($result);
    }
    

    其中输入和输出数组的结构为 array(array(['x'],['y']))

    这个函数工作得很好,但是当有大的输入时,php 商人 比我的功能快10倍。因此,我得出结论,我的职能是不正确的,至少是效率的方式。

    你有什么建议吗?

    0 回复  |  直到 6 年前