作者gamekingdom (pcman)
看板PHP
標題[請益] 如何將字串當成數字運算呢
時間Tue Oct 7 00:40:06 2014
因之前mysql取出之格式為varchar
且都有千位元分號,數量龐大無法一一修改
如果PHP將取出的varchar相加
會忽略分號的數字,例如:
$a="5,900";
$b="6,200";
echo $a+$b;
結果會得出11
而不是12100
請問各位應該如何解決
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.140.56
※ 文章網址: http://webptt.com/m.aspx?n=bbs/PHP/M.1412613608.A.B4C.html
1F:→ MOONRAKER: preg_replace取出\d就是數字了 了不起再intval()一下 10/07 02:20
2F:→ MOONRAKER: Sorry, 這好像用preg_match()才對 10/07 02:20
3F:→ noxhsu: 想到最快的處理方式 intval(str_replace(',', '', $val)); 10/07 06:17
4F:→ noxhsu: 不過用正規取出比較正確 10/07 06:18
5F:→ noxhsu: 回頭,不過我記得php的preg只有比對與取代的樣子 10/07 07:11
6F:→ MOONRAKER: 有道理,如果額外符號只有逗點,str_replace()卡實在 10/07 13:25
7F:→ noxhsu: 所以正確取出數值是 intval(str_replace(',', '', 10/08 23:30
8F:→ noxhsu: preg_replace('/\d/', '$0', $val))); 是去千位數值 10/08 23:31