2015-02-04 90 views
-1

如何計算字符串中的所有數字以獲得它們的總和? 示例字符串:在PHP字符串中計算所有數字

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')); 

沒有運氣

+4

你嘗試過什麼? – Rizier123

+0

try count(array_filter(str_split($ str),'is_numeric'));沒有運氣 – user1482261

+0

或者在'|'上正則表達或者爆炸,在':'之前刪除所有內容,並且在另一個空間之後刪除所有內容。最後添加數值 – Dimitri

回答

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 
+0

噢!完美的通用解決方 – user1482261

+0

@ user1482261不客氣!祝你有個美好的一天:D(希望你明白我所做的一切,否則就問) – Rizier123