[請益] 如何將字串當成數字運算呢

看板PHP作者 (pcman)時間11年前 (2014/10/07 00:40), 編輯推噓0(008)
留言8則, 2人參與, 最新討論串1/1
因之前mysql取出之格式為varchar 且都有千位元分號,數量龐大無法一一修改 如果PHP將取出的varchar相加 會忽略分號的數字,例如: $a="5,900"; $b="6,200"; echo $a+$b; 結果會得出11 而不是12100 請問各位應該如何解決 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.140.56 ※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1412613608.A.B4C.html

10/07 02:20, , 1F
preg_replace取出\d就是數字了 了不起再intval()一下
10/07 02:20, 1F

10/07 02:20, , 2F
Sorry, 這好像用preg_match()才對
10/07 02:20, 2F

10/07 06:17, , 3F
想到最快的處理方式 intval(str_replace(',', '', $val));
10/07 06:17, 3F

10/07 06:18, , 4F
不過用正規取出比較正確
10/07 06:18, 4F

10/07 07:11, , 5F
回頭,不過我記得php的preg只有比對與取代的樣子
10/07 07:11, 5F

10/07 13:25, , 6F
有道理,如果額外符號只有逗點,str_replace()卡實在
10/07 13:25, 6F

10/08 23:30, , 7F
所以正確取出數值是 intval(str_replace(',', '',
10/08 23:30, 7F

10/08 23:31, , 8F
preg_replace('/\d/', '$0', $val))); 是去千位數值
10/08 23:31, 8F
文章代碼(AID): #1KCiNejC (PHP)
文章代碼(AID): #1KCiNejC (PHP)