Bonsoir.
J'essaie de faire une calculatrice en PHP à partir des données entrées depuis un champs input. C'est-à-dire que je souhaiterais vérifier si ce qui est entré via le champs du formulaire HTML est un calcul, que cela procède au calcul demandé via le champs du formulaire en Action.
Voici mon Code:
Mon problème, c'est que je suis perdu dans mon propre code. Je me demande en fait, si l'utilisateur cherchait à faire un calcul un peu plus complexe comme par exemple: 5+5-2+20/3 ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 if (stripos($term, '+') !== false) { $termArray = explode("+", $term); if (is_numeric($termArray[0]) && is_numeric($termArray[2])) { $calcResult = $termArray[0] + $termArray[2]; } else if (is_numeric($termArray[0]) && is_numeric($termArray[4])) { $calcResult = $termArray[0] + $termArray[4]; } } elseif (stripos($term, '-') !== false) { $termArray = explode("-", $term); if (is_numeric($termArray[0]) && is_numeric($termArray[2])) { $calcResult = $termArray[0] - $termArray[2]; } else if (is_numeric($termArray[0]) && is_numeric($termArray[4])) { $calcResult = $termArray[0] - $termArray[4]; } } elseif (stripos($term, '*') !== false) { $termArray = explode("*", $term); if (is_numeric($termArray[0]) && is_numeric($termArray[2])) { $calcResult = $termArray[0] * $termArray[2]; } else if (is_numeric($termArray[0]) && is_numeric($termArray[4])) { $calcResult = $termArray[0] * $termArray[4]; } } elseif (stripos($term, 'x') !== false) { $termArray = explode("x", $term); if (is_numeric($termArray[0]) && is_numeric($termArray[2])) { $calcResult = $termArray[0] * $termArray[2]; } else if (is_numeric($termArray[0]) && is_numeric($termArray[4])) { $calcResult = $termArray[0] * $termArray[4]; } } elseif (stripos($term, '/') !== false) { $termArray = explode("/", $term); if (is_numeric($termArray[0]) && is_numeric($termArray[2])) { $calcResult = $termArray[0] / $termArray[2]; } else if (is_numeric($termArray[0]) && is_numeric($termArray[4])) { $calcResult = $termArray[0] / $termArray[4]; } }
Comment modifier mon code pour qu'il réponde à de tel calcul complexe sachant que ce que moi j'ai essayé de faire dans mon code ci-dessus, est d'abord de vérifier si ce qui est entré dans l'input est contient à chaque fois un signe +, -, *, x, ou encore /. Si oui, je convertis en un tableau via la fonction PHP explode l'entrée représentée par la variable $term séparée à chaque fois par le signe arithmétique (+, -, *, x, ou /) trouvé dans l'entrée et je procède au calcul de chaque valeur du tableau départagé. De deux, je n'ai réussi à traiter que deux (2) à calculer à chaque fois.
Mais je sens qu'il y a mieux à faire et ce que j'ai fait ne peut rien résoudre des calcul complexe dans le cas où l'entrée du formulaire input serait par exemple un truc du genre: (78/2-)*12+5.
Aidez-moi s'il vous plaît à modifier mon code afin de l'adapter au traitement des calcul les plus complexe.
Partager