Holladiewaldfee,
wie wäre es mit dieser Lösung?
So hier meine letzte Lösung zu diesem Thema:
---
function fAscciiInc($sString, $iInc)
{ # Hilfsvariablen
$aBuchstaben = 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');
$iBase = count($aBuchstaben); $sLength = strlen($sString);
# String in Zahl umwandeln
$iZahl = 0;
for($i=$sLength-1; $i>=0; $i--)
$iZahl += array_search($sString[$i], $aBuchstaben) * pow($iBase, $sLength-1-$i);
# Addition
$iZahl += $iInc;
# Zahl in String umwandeln
$iS = floor(log($iZahl, $iBase));
$aMult = array();
for($i=$iS; $i>-1; $i--)
{ # Ganzzahlige Division ohne Rest
$aMult[$i] = floor($iZahl / pow($iBase, $i));
# Zahl um entsprechenden Betrag vermindern
$iZahl -= $aMult[$i] * pow($iBase, $i); }
$sString = '';
for($i=0, $j=count($aMult); $i<$j; $i++)
$sString .= $aBuchstaben[$aMult[$i]];
return strrev($sString);
}
---
Bedingt durch ihren Aufbau ist diese Funktion restriktiver als die vorhergegangene Lösung, d.h. sie schmeißt führende "a", die ja als 0 behandelt werden, weg. Dafür ist sie (glaube ich) schneller und kann theoretisch auch subtrahieren, solange das Ergebnis >= 0 ist.
Ciao,
Harry
Irgendwann kommt die Waldfee - oder auch nicht ... (Projektphase: Keine Ahnung)
Bis dahin:
Ski- und Bergtouren in den Tölzer Voralpen und im Karwendel