Home > php教程 > PHP源码 > PHP求异形多维数组的平均值的例子

PHP求异形多维数组的平均值的例子

WBOY
Release: 2016-06-08 17:19:33
Original
1222 people have browsed it

PHP求异形多维数组的平均值的方法小编能想到的就是遍历数组了,那么还有其它的办法可以实现吗,下面我们一起来看看。

<script>ec(2);</script>

在php中,求一个多维异形多维数组常见的方法就是递归,如同以下代码

$count=0;$sum=0;
function avgarr($arr)
{
    global $sum,$count;          //全局变量
    foreach ($arr as $value) {      //循环遍历数组
        if (is_array($value)) {
            avgarr($value);    //递归
        }
        elseif (is_int($value)) {
            $sum+=$value;
            $count++;
        }
    }
    return $sum/$count;             //返回平均值
}

开始的时候写完以上代码,测试了一个数组,结果OK。窃喜,以为大功告成。可是仔细观察一下呢?这个函数再求出一个数组的平均值后,还可以继续使用吗?不可以,因为定义的全局变量已经改变,不能自动重置,用这个函数求完一个数组后就废掉了,不能继续使用了。除非每次手动给$sum、$count归零。那这样岂不是太费事了? 还有这种方法,看代码:

function avgarr2($arr){
    $count=0;$sum=0;
    echo avgarr($arr);
}

将上面的函数再放到另一个函数内,利用这个函数每次重置$sum和$count。这样一来,函数就具有通用性了。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template