如何添加数组的所有值并除以条目总数?

时间:2013-10-31 21:31:38

标签: php arrays

我有一个数组$prices = array();。此数组包含许多显示价格的条目。

例如€ 2.500

我的目标是添加所有这些值并获得平均数。但首先,€ 2.500的格式为2500

这就是我所知道的,它是通过使用

来完成的
preg_replace('/[^0-9]/i', '', $variable);

有什么方法可以实现这个目标?

谢谢

3 个答案:

答案 0 :(得分:2)

您可以使用array_map将该正则表达式应用于每个元素。

$avg = array_sum(array_map(function($v){
    return preg_replace('/[^0-9]/i', '', $v);
}, $prices)) / count($prices);

答案 1 :(得分:1)

$total = 0;
foreach ($prices as $index => $value)
   $total += preg_replace('/[^0-9]/i', '', $value);

echo "€" . number_format($total);

答案 2 :(得分:0)

function getCleanArray($prices)
{
    $pricesCleaned = array();

    foreach ($prices as $value)
    {
        $pricesCleaned.push(preg_replace('/[^0-9]/i', '', $value));
    }

    return $pricesCleaned;
}

在此方法调用之后,您将获得数组,您可以进一步操作数字。