我目前正在使用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;

07-26 05:39