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

作者: gamekingdom (中壢猿人)   2014-10-07 00:40:06
因之前mysql取出之格式為varchar
且都有千位元分號,數量龐大無法一一修改
如果PHP將取出的varchar相加
會忽略分號的數字,例如:
$a="5,900";
$b="6,200";
echo $a+$b;
結果會得出11
而不是12100
請問各位應該如何解決
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-10-07 02:20:00
preg_replace取出\d就是數字了 了不起再intval()一下Sorry, 這好像用preg_match()才對
作者: noxhsu (通りすがりの食いしん坊)   2014-10-07 06:17:00
想到最快的處理方式 intval(str_replace(',', '', $val));不過用正規取出比較正確回頭,不過我記得php的preg只有比對與取代的樣子
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-10-07 13:25:00
有道理,如果額外符號只有逗點,str_replace()卡實在
作者: noxhsu (通りすがりの食いしん坊)   2014-10-08 23:30:00
所以正確取出數值是 intval(str_replace(',', '',preg_replace('/\d/', '$0', $val))); 是去千位數值

Links booklink

Contact Us: admin [ a t ] ucptt.com