test=123456 test=abcdef test=12cd78
test = 123456

Die Zeichen 1 bis 4 lauten: 1234
Das Zeichen N°6 lautet: 6
Das Zeichen N°5 lautet: 5
Das Zeichen N°5 lautet: 5
Das Zeichen N°4 lautet: 4
Das Zeichen N°4 lautet: 4
Das Zeichen N°3 lautet: 3


Quelltext

echo "test = $test "; // ==> alle Zahlen ausgeben
$count=substr($test,0,4); // ==> zählt von 1 bis einschl. 4 ==> 0 gilt nicht als Zahl!!
echo "Die Zeichen 1 bis 4 lauten: $count ";
$count=substr($test,5); // ==> zählt ab dem 5, Zeichen, also nur Zeichen N° 6
echo "Das Zeichen N°6 lautet: $count ";
$count=substr($test,-2,-1); // ==> zählt rückwärts vom letzten bis zum vorletzten Zeichen, also nur Zeichen N° 5
echo "Das Zeichen N°5 lautet: $count ";
$count=substr($test,4,-1); // ==> zählt vorwärts vom vierten bis zum letzten Zeichen, also nur Zeichen N° 5
echo "Das Zeichen N°5 lautet: $count ";
$count=substr($test,-3,-2); // ==> zählt rückwärts vom vorletzten bis zum viertletzten Zeichen, also nur Zeichen N° 4
echo "Das Zeichen N°4 lautet: $count "; $count=substr($test,3,-2); // ==> zählt vorwärts vom dritten bis zum vorletzten Zeichen, also nur Zeichen N° 4
echo "Das Zeichen N°4 lautet: $count ";
$count=substr($test,2,-3); // ==> zählt vorwärts vom zweiten bis zum drittletzten Zeichen, also nur Zeichen N° 3
echo "Das Zeichen N°3 lautet: $count ";


Thomas schrieb dazu:

Hallo Micha,
Beim Auszählen der fünften Zahl von der Variablen test (6-stellige Zahl) ist bei mir die Frage aufgetaucht
was wohl die übliche Lösung ist und ob Du eine bessere Möglichkeit parat hast (???)

erste Möglichkeit:
$count=substr($test,-2,-1); // ==> zählt rückwärts vom letzten bis zum vorletzten Zeichen, also nur Zeichen N° 5

zweite Möglichkeit: $count=substr($test,4,-1); // ==> zählt vorwärts vom vierten bis zum letzten Zeichen, also nur Zeichen N° 5

..freue mich auf Deine Antwort
Thomas

Michas Tipp

Hallo Thomas,
wennesfunktioniert ist es eigendlich "wurscht", welche Lösung Du wählst. Doch folgende Überlegung ist zu treffen:

- Ist es immer die 5. Stelle von vorne oder von hinten?
- Wie würde ich dieses Schema erweitern wollen?

Gruss Micha
  zurück zur Übersicht