Twilo: Inkrementieren bei Buchstaben

Beitrag lesen

Hallo,

wie wäre es mit dieser Lösung?

function string2dec($string, $baseFrom, $baseTo){
  $stringLen = strlen($string);
  $baseFromLen = strlen($baseFrom);
  $baseToLen = strlen($baseTo);

$stringArray = str_split($string);
  $baseFromArray = str_split($baseFrom);
  $baseToArray = str_split($baseTo);

$ausgabe = 0;
  for ($i = 0, $potenz = $stringLen-1; $i < $stringLen; $i++, $potenz--){
    $wert = array_search ($stringArray[$i], $baseFromArray);
    $bla = pow(count($baseFromArray), $potenz);
    $ausgabe = $ausgabe + ($wert*$bla);
    if ($wert === false) die('Fehler');
  }
  return $ausgabe;
}
function dec2string($string, $baseFrom, $baseTo){
  $stringLen = strlen($string);
  $baseFromLen = strlen($baseFrom);
  $baseToLen = strlen($baseTo);

$stringArray = str_split($string);
  $baseFromArray = str_split($baseFrom);
  $baseToArray = str_split($baseTo);

$convert = base_convert($string, $baseFromLen, $baseToLen);
  $hilfsBuchstaben = array('0','1', '2', '3', '4', '5', '6','7', '8', '9', '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');
  for ($i = 0; $i < $baseToLen; $i++) $buchstaben_r[$hilfsBuchstaben[$i]] = $baseToArray[$i];
  return strtr($convert, $buchstaben_r);
}
function convert($erhoehen, $startwert = 'abc'){
  $buchstaben = 'abcdefghijklmnopqrstuvwxyz';
  $zahlen = '0123456789';
  $end = ($startwert != 'abc') ? string2dec($startwert, $buchstaben, $zahlen) + $erhoehen : 28 + $erhoehen;
  $reverse = dec2string($end, $zahlen, $buchstaben);
  $ausgabe = (strlen($startwert) > strlen($reverse)) ? str_pad($reverse, strlen($startwert), 'a', STR_PAD_LEFT) : $reverse;
  return $ausgabe;
}
print convert('1000', 'aaaaaaaa');

mfg
Twilo