0

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

例如€ 2.500

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

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

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

有什么方法可以做到这一点?

谢谢

4

3 回答 3

2

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

$avg = array_sum(array_map(function($v){
    return preg_replace('/[^0-9]/i', '', $v);
}, $prices)) / count($prices);
于 2013-10-31T21:34:54.490 回答
1
$total = 0;
foreach ($prices as $index => $value)
   $total += preg_replace('/[^0-9]/i', '', $value);

echo "€" . number_format($total);
于 2013-10-31T21:34:48.767 回答
0
function getCleanArray($prices)
{
    $pricesCleaned = array();

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

    return $pricesCleaned;
}

调用此方法后,您将获得包含数字的数组,您可以进一步操作这些数字。

于 2013-10-31T21:42:08.020 回答