鬼一浪人 2019-06-22 18:26:28 5397次浏览 1条评论 3 5 0

说明:计算一个数组中所有元素之和,可以用系统内置的 array_sum() 方法,该方法有一个缺点,即对于元素值为true也会转换成1累计计算,因此,这里自定义实现该功能; 若是客官觉得还有更好的方法,不吝赐教!

<?php

function array_sum_one(array $array = [])
{
    $sum = 0;
    foreach ($array as $value) {
        if (is_numeric($value)) {
            $sum += $value;
        }
    }
    return $sum;
}

function array_sum_two(array $array = [])
{
    return array_reduce($array, function($prev,$current){
        if (is_numeric($current)) {
            $prev += $current;
        }
        return $prev;
    }, 0);
}

function array_sum_three(array $array = [])
{
    $array = array_filter($array, function($value){
        return is_numeric($value);
    });
    return array_sum($array);
}
觉得很赞
您需要登录后才可以评论。登录 | 立即注册