Avatar billede davidabk Nybegynder
30. april 2010 - 11:53 Der er 4 kommentarer og
1 løsning

if statement i PHP - hjælp!

Hej

Jeg har kastet mig ud i at lære lidt programmering - i første omgang php (og senere javascript).

Jeg har dog et spørgsmål vedr. et if statement som jeg sidder og leger med:

<?php
$month = "marts";
if ($month == "december" || "januar" || "februar") echo "øv... så er det stadig vinter";
if ($month == "marts" || "april" || "maj") echo "Foråret er her!!";
if ($month == "juni" || "juli" || "august") echo "Sommer, sol og dejlig ferie";
if ($month == "september" || "oktober" || "november") echo "vinteren kommer - Husk træpiller!!!";
?>

Det som jeg ikke kan få til at virke at et if statement gerne skulle evaluere de 3 følgende måneder selvstændigt!
Jeg er klar over at der kan laves et if statement for hver måned, men det vil giver flere linier kode.

Er der nogle forslag til en effektiv kode med if statement som kan evaluere flere udsagn?
Avatar billede Slettet bruger
30. april 2010 - 12:02 #1
Den skal have "hele udtryk" i hver sammenligning, f.eks:

if ($month == "december" || $month == "januar" || $month == "februar")
    echo "Juhuu, sne!";

Og så er det også en god idé, når en sammenligning matcher, at springe resten over - det sparer serveren for lidt arbejde (co2 du ved)


if (a == b)
  echo "b";
else
  if (a == c)
      echo "c";
   
Held og lykke med det : )
Avatar billede davidabk Nybegynder
30. april 2010 - 12:39 #2
Kanon!!

Jeg takker mange gange!!
Avatar billede Slettet bruger
30. april 2010 - 13:02 #3
Velbekomme : )
Avatar billede danco Nybegynder
01. maj 2010 - 15:19 #4
Undskyld mig,
men ville en switch ikke være mere effektiv i det her tilfælde ?
jeg ved naturligvis ikke hvor du får din $month fra, men jeg synes måske bare at det kræver unødvendig meget kode at bruge if()
Avatar billede Slettet bruger
01. maj 2010 - 19:07 #5
Nej, ikke mere effektiv, tværtimod faktisk!
- for i en switch skal ALLE sammenligninger jo evalueres, mens en velovervejet rækkefølge af if/else'er (de mest sandsynlige først) kan gøre stor forskel på effektiviteten.

- men hvis der er rigtig mange if'er (og kun én af dem er mulig) kan en switch gøre koden mere overskuelig - for os halvskaldede aber : )
(En switch har dog andre fordele man kan udnytte i specielle situationer)

MEN det var jo ikke det der var spørgsmålet her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester