我有一个数组$prices = array();
。该数组包含许多显示价格的条目。
例如€ 2.500
我的目标是添加所有这些值并获得平均数。但首先,要具有€ 2.500
以下格式2500
这就是我所知道的,它是通过使用来完成的
preg_replace('/[^0-9]/i', '', $variable);
有什么方法可以做到这一点?
谢谢
您可以使用array_map
将该正则表达式应用于每个元素。
$avg = array_sum(array_map(function($v){
return preg_replace('/[^0-9]/i', '', $v);
}, $prices)) / count($prices);
$total = 0;
foreach ($prices as $index => $value)
$total += preg_replace('/[^0-9]/i', '', $value);
echo "€" . number_format($total);
function getCleanArray($prices)
{
$pricesCleaned = array();
foreach ($prices as $value)
{
$pricesCleaned.push(preg_replace('/[^0-9]/i', '', $value));
}
return $pricesCleaned;
}
调用此方法后,您将获得包含数字的数组,您可以进一步操作这些数字。