用正则表达式,你想替换成什么就什么,何况是+1
<?php
$a="photo-1-1";while (++$i<10)
{
$a = preg_replace('/(photo\-1\-)([0-9]+)/e','"$1".($2 + 1)', $a);
echo "$a<br>\n";
}
?>

解决方案 »

  1.   

    <?php
    $a = "photo-1-1";
    echo preg_replace("/(.*-).+/","\${1}2",$a);
    ?>
      

  2.   

    感谢楼上两位大哥的答案,
    小弟其实的意思是说如何取到一个字符串变量的最后一位,然后在最后一位进行数字+1
    并不是只是简单的将"photo-1-1"变为"photo-1-2"
    如果要将 "photo-1-1-1" 变为 "photo-1-1-2"
    这样该如何来操作呢。
      

  3.   

    呵呵,进位问题怎么解决,是不是 photo-9变为photo-10 还是 photo-0?
    用strrev 反转字符,再用substr(str,0,1)取得第一个字符
      

  4.   

    to 回复人: freescy2002(我要努力) 你有没有好好看我的代码?从photo-1-1,photo-1-2 到 photo-1-10都打印出来了,你还想知道什么?
      

  5.   

    Meteorlet(www.imsorry.com.cn/blog)
    您好,你的代码我看过了.但是无法从photo-1-1-1到photo-1-1-10
    我想做一个无级分类的东东。
      

  6.   

    大哥,我看了一下,您还是用explode()把你的photo-1-1-1拆开再处理吧!
    不一定要什么最后一位,换个思路你会活的更好!