Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Sep 2002

enkelt phpFel

Jag skulle vilja addera eller subtrahera två tal.
$op skall kunna bytas ut men är nu satt statiskt tills vidare.

$x = 14; // Tal 1 $y = 10; // Tal 2 $op = "-"; //operator $result = $x + $op + $y ; //Räknar ut talet print "$x $op $y = $result";

Outputen blir dock: 14 - 10 = 24

Trädvy Permalänk
Medlem
Plats
Byske, Skellefteå
Registrerad
Aug 2009

Just nu tror jag att den räknar ut 14+-+10, skriv såhär istället eller ta helt enkelt bort dina plustecken:

$x = 14; // Tal 1
$y = 10; // Tal 2

$result = $x - $y; //Räknar ut talet
echo $x - $y = $result;

Chassi: Corsair 650D | Processor: Intel Core i5 3570K | Moderkort: Gigabyte GA-Z68XP-UD3P | Minne: Corsair 16 GB | SSD: Corsair Force GT 128 GB | Lagring: 3,5 TB | Grafikkort: HIS HD7870 | Nätaggregat: Corsair AX750W | Tangentbord: Microsoft Sidewinder X4 | Mus: Mionix Naos 5000

Trädvy Permalänk
Medlem
Plats
@home
Registrerad
Maj 2005

du kan ju göra en if (eller kanske switchsats) som testar vad $op innehåller och sedan beräknar resultatet utifrån det.
ex.

if($op=="-"){ $resultat = $x-$y; }elseif($op=="+"){ $resultat= $x+$y; }else { //osv. }

I'm Winston Wolfe. I solve problems.

Trädvy Permalänk
Medlem
Plats
Falun
Registrerad
Dec 2003
Citat:

Ursprungligen inskrivet av ketels
Jag skulle vilja addera eller subtrahera två tal.
$op skall kunna bytas ut men är nu satt statiskt tills vidare.

$x = 14; // Tal 1 $y = 10; // Tal 2 $op = "-"; //operator $result = $x + $op + $y ; //Räknar ut talet print "$x $op $y = $result";

Outputen blir dock: 14 - 10 = 24

Testa detta:

$x = "14"; //Tal 1 $y = "10"; //Tal 2 $op = "-"; //operator eval("\$result = \"$x\"$op\"$y\";"); //Räknar ut talet echo "$x $op $y = $result"; //Output: // 14 - 10 = 4

Kom ihåg att validera variablerna om det är ren input från användaren.

Edit: På något vänster så hade annan kod hittat sig in i min post.

ηλί, ηλί, λαμά σαβαχθανί!?