我有一个数组$prices = array();
。此数组包含许多显示价格的条目。
例如€ 2.500
我的目标是添加所有这些值并获得平均数。但首先,€ 2.500
的格式为2500
这就是我所知道的,它是通过使用
来完成的preg_replace('/[^0-9]/i', '', $variable);
有什么方法可以实现这个目标?
谢谢
答案 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;
}
在此方法调用之后,您将获得数组,您可以进一步操作数字。