Huhu,
ich beschäftige mich seit ca. zwei Wochen mit PHP, und würde nun gerne so eine Art Taschenrechner programmieren. Das erste Ziel, das ich mir gesteckt habe ist, simple arithmetische Berechnungen durchzuführen, inklusive Potenzen.
Im Klartext: Der Benutzer gibt z.B. in ein Textfeld ein:
9*5-6*3/4+67+4-2/3
und erhält das Ergebnis. Alles soweit kein Problem, ich setze das ganze mit eval() um. Nun möchte ich allerdings die Möglichkeit bieten, Potenzen einzugeben, mittels des ^-Zeichens. 6^3 entspricht also pow(6, 3).
Meine Frage ist nun, wie ich am besten die Zahl vor (die Basis) dem Zeichen und die Zahl nach (der Exponent) dem Zeichen erhalte. Sollte nicht so schwer zu lösen sein, mittels strpos() +/- 1. Das liefert mir aber nur die einzige Ziffer vor/nach dem ^-Zeichen.
Wie kann ich alle Zeichen vor/nach dem ^-Zeichen auslesen, die von einem anderen Rechenzeichen (+, -, *, /, (, )) oder einem Leerzeichen begrenzt werden? Aus 36^34 soll also pow(36, 34) und nicht pow(6, 3) werden.
Gruß,
Pumi
ich beschäftige mich seit ca. zwei Wochen mit PHP, und würde nun gerne so eine Art Taschenrechner programmieren. Das erste Ziel, das ich mir gesteckt habe ist, simple arithmetische Berechnungen durchzuführen, inklusive Potenzen.
Im Klartext: Der Benutzer gibt z.B. in ein Textfeld ein:
9*5-6*3/4+67+4-2/3
und erhält das Ergebnis. Alles soweit kein Problem, ich setze das ganze mit eval() um. Nun möchte ich allerdings die Möglichkeit bieten, Potenzen einzugeben, mittels des ^-Zeichens. 6^3 entspricht also pow(6, 3).
Meine Frage ist nun, wie ich am besten die Zahl vor (die Basis) dem Zeichen und die Zahl nach (der Exponent) dem Zeichen erhalte. Sollte nicht so schwer zu lösen sein, mittels strpos() +/- 1. Das liefert mir aber nur die einzige Ziffer vor/nach dem ^-Zeichen.
Wie kann ich alle Zeichen vor/nach dem ^-Zeichen auslesen, die von einem anderen Rechenzeichen (+, -, *, /, (, )) oder einem Leerzeichen begrenzt werden? Aus 36^34 soll also pow(36, 34) und nicht pow(6, 3) werden.
Gruß,
Pumi


Kommentar