PHP:字符串增量器

Jay*_*kra 0 php

我正在创建一个类似于MySql的自动增量的函数,但我正在使用一个值数组

$array = array('a','b','c','d','e','f','g','h','i','j','k','l','m',
               'n','o','p','q','r','s','t','u','v','w','x','y','z',
               'A','B','C','D','E','F','G','H','I','J','K','L','M',
               'N','P','Q','R','S','T','U','V','W','X','Y','Z',
               '1','2','3','4','5','6','7','8','9','0',
               '~',-','_');
Run Code Online (Sandbox Code Playgroud)

我想根据这个数组得到下一个字符串.说我有"aH?",所以我的下一个字符串应该是,"aIa"或者如果我的字符串是"???"这样我的巢字符串应该是"aaaa".请建议我最好,最快的方法.

rai*_*7ow 8

我想在实践中最好的方法是在PHP中使用鲜为人知的自动增量属性:它也可以用于字符串:

$a = 'a';
echo ++$a; // 'b'
echo ++$a; // 'c'

$a = 'z';
echo ++$a; // 'aa'
echo ++$a; // 'ab'

$a = 'az';
echo ++$a; // 'ba'
echo ++$a; // 'bb'

$a = 'zz';
echo ++$a; // 'aaa'
echo ++$a; // 'aab'
Run Code Online (Sandbox Code Playgroud)

事实上,人们甚至可以混合使用字母和数字,如下所示:

$ld = 'a9z9';
echo ++$ld; // 'b0a0'

$ld = 'z9z9';
echo ++$ld; // 'aa0a0'
Run Code Online (Sandbox Code Playgroud)

如您所见,在溢出(++9,++z)的情况下,下一个符号(从右到左)也将增加.如果它是最左边的(并且等于z),它就变成'aa'.

最后要说的是:案件得以保留.以便...

$mixin = 'Zz9Zz9Zz9';
echo ++$mixin; // 'AAa0Aa0Aa0'
Run Code Online (Sandbox Code Playgroud)