akbach
5/14/2014 - 6:31 PM

Generate sequence of characters

Generate sequence of characters

<?php 

$sec = 'a';
for($i=1 ; $i<10000;$i++) {
  echo "$sec <br />";
  $sec = getnext($sec);
}


function getnext($number) {
    preg_match('/(.*)?(.)$/i', $number, $macthes);
    if (!isset($macthes[2])) {
        return "a";
    }
    $lastNumberChar = $macthes[2];
    $asciEnd = 122;
    $remplacment = null;
    $asciLastNumberChar = ord($lastNumberChar);

    if ($asciLastNumberChar < $asciEnd) {
        $numberAsci = $asciLastNumberChar + 1;
        $remplacment = chr($numberAsci);
        return preg_replace('/(.)$/i', $remplacment, $number);
    } else {
        return getnext($macthes[1]) . 'a';
    }
}