• 展开微博窗口
  • QQ:826945906
  • 微信:u200714928
  • 展开分类目录
胡伟

一道PHP面试题的思考

题目是这样的:写一个php函数,将’9123456789′,转话成’9,123,456,789’的形式。 解法1: function changeStr($str) { return number_format($str, 0, ‘,’, ‘,’); } 解法2: function changeStr($str) { return preg_replace(‘/\B(?=(\d{3})+$)/i’, ‘,’, $str); } 解法3: function changeStr($str) { return preg_replace(‘/\B(\d{3})/i’, ‘,$1′, $str); } 解法4: function changeStr($str) { $ret = ”; $len = strlen($str); $left = $len%3; for ($i=0; $i<$len; $i++) { if ($i%3 == $left && $i !==0) { $ret .=’,’; } $ret .= $str[$i]; } return $ret; } 除了php提供的number_format外,使用正则替换是最简洁的方法了 …