[请益] 如何将字串当成数字运算呢

楼主: 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