Was genau gefällt dir an obiger Lösung nicht? Es dürfte die einfachste Variante sein, wenn du nicht alles ausschreiben willst. if($charexp < 100) ...; else if($charexp < 500) ...; ... willst du ja offenbar explizit nicht. (Warum nicht? Gerüchten zufolge kann man sich auch schnell ein kleines Skript schreiben welches einem fix diese if-Klauseln erzeugt. *schauder* Man könnte das sogar als weitere 'Lösung' ansehen und dann eval verwenden. Aber eval ist bekanntlich böse.)
Hmja na gut, dann werde ich das jetzt mal per if-Anweisungen probieren.
Die 2 Zeilen von dir
$a = Array(0, 100, 500, 1000, 1500, 2000, 2500, ....);
$lvlup = 0; while($a[++$lvlup]<=$charexp && $lvlup<10);
verstehe ich nicht ganz, da hinter while nur eine Bedingung steht, aber nicht, was ausgeführt werden soll ... ?
Naja, ich versuch's mit den "einfachen" Anweisungen.
Danke