Gå til innhold

kalkulere en string


Anbefalte innlegg

Videoannonse
Annonse

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 av Scix
Lenke til kommentar

<?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 av Judofyr
Lenke til kommentar

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 av kakkle
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...