PHP在字符串中截取出后三位数字并将该数字加一
发布网友
发布时间:2022-04-06 05:35
我来回答
共2个回答
热心网友
时间:2022-04-06 07:05
<?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;
?>
以上代码可以做到末尾任意位数字的你这个需求。
热心网友
时间:2022-04-06 08:23
$str = "abcdefg001";
$n = substr( $str, -3 ) + 1;
echo substr( $str, 0, 7 ) . str_pad( $n, 3, '0', 0 );