计算php字符串中的所有数字

时间:2015-02-04 22:13:51

标签: php string count

如何计算字符串中的所有数字以获得总和? 示例字符串:

G12103108 : 0.00 Troy oz. | U20072491 : 12.10 USD | U27811285 : 0.55 USD | U41125827 : 0.00 USD | U47329193 : 0.00 USD | E30010787 : 10.01 EUR 

如何获得结果?

22.66

我试过

count(array_filter(str_split($str),'is_numeric'));

没有运气

1 个答案:

答案 0 :(得分:3)

这应该适合你:

(在这里,我只需使用preg_match_all()获取:之后的所有浮动数字。之后我将所有值与array_sum()一起计算)

<?php

    $str = "G12103108 : 0.00 Troy oz. | U20072491 : 12.10 USD | U27811285 : 0.55 USD | U41125827 : 0.00 USD | U47329193 : 0.00 USD | E30010787 : 10.01 EUR";
    preg_match_all('!:\s(\d+\.*\d*)!', $str, $matches);
    echo array_sum($matches[1]);

?>

输出:

22.66