php英文字母累加函数

Lane的PHP练习作品。十分感谢我师傅
累加形式如下:
A,B,C,D...X,Y,Z,AA,AB...AZ,BA,BB...
也就是说如果传入参数是ZZ,那么返回的就是AAA。

//code by liuyuanjun.com
function LetterAdd($s){
    $Str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $len = strlen($s);
    $i = 1;
    do{
        $a2 = substr($s,$len-$i,1);
        $pos = strpos($Str,$a2)+1;
        $b2 = $pos>25 ? "A" : $Str[$pos];
        $a1 = $len==$i ? ($b2=="A"?"A":"") : substr($s,0,$len-$i);
        $a3 = $i==1 ? "" : substr($s,$len-$i+1);
        $s = $a1.$b2.$a3;
        $i++;
    }while($b2=="A" && $len>$i-1);
    return $s;
}

for($i=A;$i!="AAA";$i=LetterAdd($i)){
    echo $i."
";
}

文章没有版权,转载请留链接。

已有 2 条评论 »

  1. mm公寓 February 21st, 2009 at 12:22 am

    不错,很有意思。

  2. 饼子 April 14th, 2010 at 09:35 am

    非常感谢你的东西。正好要用到一个这样的字母累加。

添加新评论