Scix Skrevet 12. august 2005 Del Skrevet 12. august 2005 Jeg sitter å leker meg litt her, og lurte på hvordan jeg kan gjøre en string om til tall... Si at $_POST['noe'] = "1+5" Hvordan skal jeg få denne til å bli kalkulert? Lenke til kommentar
Loomy Skrevet 12. august 2005 Del Skrevet 12. august 2005 Hvis den kun skal funke i "X+Y"-formatet kan du bruke følgende: $tall = explode('+', $_POST['noe']); $total = $tall[0] + $tall[1]; Lenke til kommentar
Scix Skrevet 12. august 2005 Forfatter Del Skrevet 12. august 2005 (endret) joda. men det kan komme annet en "+". Det er snakk som en kalkulator. og siden hele reknestykket blir skrevet i en textbox, så lurte jeg på om jeg kunne gjøre $_POST['noe'] om til ett vanlig reknestykke... Edit: skrivefeil Endret 12. august 2005 av Scix Lenke til kommentar
Magnus Holm Skrevet 12. august 2005 Del Skrevet 12. august 2005 (endret) <?php function kalkulator($calc) { if (strpos($calc, "+") !== false) { $ex = explode("+", $calc); return $ex[0] + $ex[1]; } elseif (strpos($calc, "-") !== false) { $ex = explode("-", $calc); return $ex[0] - $ex[1]; } elseif (strpos($calc, "*") !== false) { $ex = explode("*", $calc); return $ex[0] * $ex[1]; } elseif (strpos($calc, "/") !== false) { $ex = explode("/", $calc); return $ex[0] / $ex[1]; } } ?> IKKE testet... Du bruker det sånn: echo kalkulator("6*7"); eller: echo kalkulator($_POST['noe']); EDIT: NÅ skal den virke Endret 12. august 2005 av Judofyr Lenke til kommentar
nthing Skrevet 12. august 2005 Del Skrevet 12. august 2005 $tall = explode('+-/*', $_POST['noe']); $total = $tall[0] + $tall[1]; skal ikke det funke? Lenke til kommentar
Magnus Holm Skrevet 12. august 2005 Del Skrevet 12. august 2005 Nopp. Den der plusser jo ved at du skriver +-/*... Lenke til kommentar
kakkle Skrevet 12. august 2005 Del Skrevet 12. august 2005 (endret) Evt, så kan du bruke eval og slippe alle if'ene <? $regnestykke = "2*3" // "2*3" kan f.eks komme fra formen; eval("\$resultat = ".$regnestykke.";"); echo $regnestykke." = ".$resultat; ?> Da kan $regnestykke være +,-,*,/ eller hva som helst, og du vil få resultatet av regnestykket EDIT: Du bør sjekke at det som kommer fra formen faktisk er et regnestykke, og ikke noe annet, da det kan være litt skummelt, føler jeg på meg. Dette gjør du ved å sjekke at det inneholder kun tall og de operatorene som skal være lov. Endret 12. august 2005 av kakkle Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå