Gå til innhold

Simpel if setning virker ikke...


Anbefalte innlegg

<?php
     function sjekkTall(){
       if ($a > $b) echo "a is bigger than b";
       elseif ($a == $b) echo "a is equal to b";
       else echo "a is smaller than b";
     }

     $a= 1;
     $b= 1;
     echo "<br />$a, $b<br />";
     sjekkTall();
     $a= 1;
     $b= 2;
     echo "<br />$a, $b<br />";
     sjekkTall();
     $a= 2;
     $b= 1;
     echo "<br />$a, $b<br />";
     sjekkTall();
   ?>

 

Dette gir utskriften:

1, 1

a is equal to b

1, 2

a is equal to b

2, 1

a is equal to b

 

Er helt sikker på at dette skyldes en rimelig enkel (og flau) feil, men jeg er relativt ny med php... :blush:

 

Noen som ser feilen?

Lenke til kommentar
Videoannonse
Annonse

<?php
    function sjekkTall() {
      global $a, $b;
      if ($a > $b) { echo "a is bigger than b"; }
      elseif ($a == $b) { echo "a is equal to b"; }
      else { echo "a is smaller than b"; }
    }

    $a= 1;
    $b= 1;
    echo "<br />$a, $b<br />";
    sjekkTall();
    $a= 1;
    $b= 2;
    echo "<br />$a, $b<br />";
    sjekkTall();
    $a= 2;
    $b= 1;
    echo "<br />$a, $b<br />";
    sjekkTall();
?>

 

Håper dette hjelper deg.

 

Jeg fikk det til å fungere når jeg satte variabel a og b til å være globale.

 

Plus at du hadde ikke riktig syntax på if setningene dine. Du glemte '{' og '}'.

 

Når jeg kjørte dette scriptet så fikk jeg følgende:

1, 1

a is equal to b

1, 2

a is smaller than b

2, 1

a is bigger than b

 

Håper dette hjelper deg. Er det noe du ikke skjønner så bare spørr.

 

Vil legge til at det finnes mange mer 'stuerene' måter å gjøre det her på. :thumbup:

Endret av SprEA
Lenke til kommentar

<?php
    function sjekkTall($a, $b){
      if ($a > $b) echo "a is bigger than b";
      elseif ($a == $b) echo "a is equal to b";
      else echo "a is smaller than b";
    }

    $a= 1;
    $b= 1;
    echo "<br />$a, $b<br />";
    sjekkTall($a, $b);
    $a= 1;
    $b= 2;
    echo "<br />$a, $b<br />";
    sjekkTall($a, $b);
    $a= 2;
    $b= 1;
    echo "<br />$a, $b<br />";
    sjekkTall($a, $b);
  ?>

 

Jeg ser ikke helt poenget med å bruke globale variable her. Jeg ville iallefall ha brukt parametre til funksjonen din. Så kan funksjonen brukes på samme måte selv om variablene i hovedprogrammet ditt har andre navn...

 

Kanskje du neste gang vil sammenligne "epler" og "bananer", istedenfor "a'er" og "b'er" :)

Endret av tomahg
Lenke til kommentar

Takker.

 

Stuerent er ikke så viktig enda, som du sikkert så :D .

Har drevet med Java noen år nå, men PHP har jeg aldri vært borti. Håndtering av variabler var tydeligvis litt annerledes...

 

Var i første omgang mest interressert i å lage en enkel if setning med funksjon. Da var det i boks. Får lese litt mer om PHP.

Lenke til kommentar
Plus at du hadde ikke riktig syntax på if setningene dine. Du glemte '{' og '}'.

5268265[/snapback]

Som i mange andre programmeringsspåk er det også i PHP slik at man kan droppe de hvis det bare er snakk om en linje. Altså:

if(noe == noe annet)
  echo 'skrive ut noe';
elseif(noe == enda noe annet)
  echo 'skrive ut noe helt annet';
else
  echo 'hmm...';

while(noe == noe annet)
  echo 'en utskrift';

for(noe = 0; noe < annet; noe++)
  echo 'mer utskrift';

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...