|
|
Joined: Dec 1999
Posts: 30,867
Master Elite Member
|
public function Str_Inc($Str, $CharSet) {
$r = str_split($Str); $r = array_reverse($r); $carry = false; $imax = count($r) - 1; $HiChar = substr($CharSet, strlen($CharSet) - 1, 1);
$LoChar = substr($CharSet, 0, 1);
$OneChar = substr($CharSet, 1, 1); $i = 0; while (true) {
if ($i > $imax) {
if ($carry) {
if ($imax > 0) $r = array_fill(0, $imax + 1, $LoChar); $r[] = $OneChar; break; }
$r[] = $OneChar; break; }
if ($r[$i] != $HiChar) {
$r[$i] = $this->Str_Char_NextChar($r[$i], $CharSet); break; }
$r[$i] = $LoChar; $carry = true; $i += 1;
}
$r = array_reverse($r); return implode('', $r); }
|
|
|
|
|