我目前正在使用Amazon API,它以以下格式返回最低的可用价格:“ EUR xxx,xx”(例如“ EUR 23,99”)。
现在,我想计算三个价格的总和,但是由于价值不只是数字,所以我不知道该怎么做。
我试过了
$a = $ergebnis['price1'];
$b = $ergebnis['price2'];
$c = $ergebnis['price3'];
$string = "a + b + c";
$result = eval('return ' . preg_replace('/([a-zA-Z0-9])+/', '\$$1', $string) . ';');
echo $result;
但这并没有返回结果。
最佳答案
您需要遵循2个步骤:
删除“ EUR”,
转换为float
要删除“ EUR”,请使用爆炸explode(" ", $price)[1]
按空格爆炸字符串。然后,您想将逗号更改为点并转换为浮点数,这可以通过floatval()
和str_replace()
完成。
function toFloat($price) {
return floatval(str_replace(',', '.', explode(" ", $price)[1]));
}
$a = toFloat($ergebnis['price1']);
$b = toFloat($ergebnis['price2']);
$c = toFloat($ergebnis['price3']);
$result = $a + $b + $c;
echo $result;