mir will nichts einfaches einfallen…
gibts dafuer vielleicht sogar hilfreiche funktionen, die ich nicht kenne…
aufgabe ist es:
user gibt einen start- und eine anzahl ein
Bsp:
start:ab
anzahl:5
dann sollte das ergebnis „af“ ergeben (start „ab“ wird mitgezaehlt)
probleme habe ich mit den „umspruengen“… wenn ich den endbereich der buchstaben erreiche.
wertebereich ist aa-zz
wie mache ich das also, wenn ich bei „zx“ bin und 10 waehle…
dann soll das script wieder bei „aa“ weiterzaehlen…
ich habe es mit chr() und 2-dim. arrays versucht…
kann mir da einer n snippet geben ?
Ich finds grad nicht, aber im grundegenommen suchst du eine Funktion, die einfach verschiedene Zahlensysteme in einander umrechnen kann. Primär wird sowas sicherlich genutzt, um von dezimal in oktal oder binär umzurechnen, ich habe allerdings schonmal eine Funktion gefunden, der man in einem String beliebige Zeichen als „Zahlensystem“ übergeben konnte.
Ich schaue nach, sobald ich zuhause bin, vielleicht findest du ja mit den Hinweisen selbst schon sowas:wink:
LG Henrik
aufgabe ist es:
user gibt einen start- und eine anzahl ein
Bsp:
start:ab
anzahl:5
dann sollte das ergebnis „af“ ergeben (start „ab“ wird
mitgezaehlt)
probleme habe ich mit den „umspruengen“… wenn ich den
endbereich der buchstaben erreiche.
wertebereich ist aa-zz
in Perl:
my ($low, $high) = qw’ aa zz ';
my $v = ‚zx‘;
for (0 … 5) {
my $p = $v eq $high ? ($v=$low and $high) : $v++;
print „$p \n“
}
in PHP5:<?php $low = „aa“; $high = „zz“;
das funzt… ich bin begeistert… spricht was dagegen?
ups… habe mich jetzt erstmal gefragt, WARUM das eigentlich geht… ist das Increment eines Strings in PHP speziell implementiert und nicht das gleiche wie +1, was nicht geht… wusste ich auch noch nicht, ist aber mit einem Satz im Manual dokumentiert… wie bist du darauf gekommen, das hätte ich nie versucht
ups… habe mich jetzt erstmal gefragt, WARUM das eigentlich
geht… ist das Increment eines Strings in PHP speziell
implementiert und nicht das gleiche wie +1, was nicht geht…
wusste ich auch noch nicht, ist aber mit einem Satz im Manual
dokumentiert…
Die Ursprünge sind wohl vergessen
Der wahre Grund ist, dass PHP ursprünglich
in Perl geschrieben wurde und daher auch
der ‚magic ++‘ zu Perl „durchgereicht“ worden
ist. Ein Blick in den PHP-Quelltext hätte diese
Frage beantwortet (wie z.B hier http://www.mail-archive.com/[email protected]/m…
diskutiert):
ZEND\_API int increment\_function(zval \*op1)
{
.
.
.
case IS\_STRING:
/\* **<u>Perl style</u>** string increment \*/
increment\_string(op1);
.
.
.
}
ZEND\_API int decrement\_function(zval \*op1)
{
.
.
.
case IS\_STRING:
/\* **<u>Like perl</u>** we only support string increment \*/
/\* Try to work with string as a number or leave it alone \*/
.
.
.
}
wie bist du darauf gekommen, das hätte ich
nie versucht