PHP在字符串中截取出后三位数字并将该数字加一
PHP在字符串中截取出后三位数字并将该数字加一,然后合并起来。如:前:$str="abcdefg001";后:$str="abcdefg002";哪位有比较好的算法?...
PHP在字符串中截取出后三位数字并将该数字加一,然后合并起来。
如:
前:$str = "abcdefg001";
后:$str = "abcdefg002";
哪位有比较好的算法? 展开
如:
前:$str = "abcdefg001";
后:$str = "abcdefg002";
哪位有比较好的算法? 展开
2个回答
展开全部
<?php
$str = "abcdefg001";
$num = intval(substr($str,strlen($str)-3,3))+1;
$num = sprintf("%03d",$num);
$str = substr($str,0,strlen($str)-3).$num ;
echo $str;
?>
追问
感谢!但是有一个问题,如果 这个str 有的是后两位为数字怎么办?如: abcdefg02 这种的最后结果要 abcdefg03 怎么能自动判断两位和三位?
追答
如果数字位数不固定,但只要能确认是以数字结尾的就可以使用正则来将数字匹配出来:
<?php
$str = "abcdefg02";
preg_match_all("/\d+/",$str,$num);
$num = $num[0][count($num[0])-1];
$new_num = sprintf("%0".(strlen($num))."d",$num+1);
$str = str_replace($num,$new_num,$str);
echo $str;
?>
以上代码可以做到末尾任意位数字的你这个需求。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询