Heute hab ich eine ganz theoretische Frage. Wie sollte ich mich am besten anlegen, wenn ich aus einem String, z.B.
s7sc-1hddscd4hedfhdsf3hdf2h6dsf5
auslesen möchte, welche Ziffer als erstes vorkommt (in diesem Fall also die 7); Und welche Ziffer als zweites, drittes etc. vorkommt?
Ich bin schon mehrere Möglichkeiten im Kopf durchgegeangen, kam bisher aber nur auf extrem komplizierte Ansätze, wo ich für jede Ziffer die Position definiere und diese dann alle, einen nach dem anderen miteinander vergleiche, wobei sich dann (mal abgesehen von der Länge) auch das Problem herausstellt, dass ich gar nicht zwangsläufig weiß, ob die Ziffern im String nur von 1-7 gehen, wie das hier der Fall ist, oder von 1-9, oder 1-3,…
Was wäre der wohl effektivste und kürzeste Weg, mein Problem zu lösen? Wie würdet ihr euch zum Lösen dieses Problems anlegen?
Toll, danke, genau sowas habe ich mir vorgestellt. Ich muss nur noch schauen, den Code für meine Bedürfnisse genau anzupassen.
Aber vorweg schonmal: Gibt es eigentlich einen ‚stummen‘ print-Befehl, also so wie
[PHP]$stumm = ($matches[0]);[/PHP]. Anders gesagt, kann ich statt die Ausgabe Array
(
[0] => 7
[1] => 1
[2] => 4
[3] => 3
[4] => 2
[5] => 6
[6] => 5
) sofort zu erhalten, nur die Werte im Cache bewahren und dann (ohne print) einen bestimmten Wert weiterverarbeiten, also z.B., so, wenn ich sagen wöllte, dass er nur die Ziffer ausgeben soll, die an Stelle 4, steht, in diesem Fall also dann die 2.
Weiß nicht wirklich was du meinst. Die letzte Zeile meines Codes ist nur damit das Ergebnis auch irgendwo angezeigt wird. Ist ja nur ein Beispiel…
Das Zeichen an Index 4 ist folgendermaßen zu finden:
[PHP]$matches[0][4][/PHP]