Avatar billede engberg Juniormester
02. december 2004 - 08:06 Der er 11 kommentarer og
2 løsninger

Lav mig en løkke

Hejsa

Jeg kan ikke lige gennemskue hvordan jeg kan lave en løkke der gør dette:

    $Huraa = d1;
    if ($ElevSvar1 == $Svaret1) {noget}
    $Huraa = d2;
    if ($ElevSvar2 == $Svaret2) {noget}
    $Huraa = d3;
    if ($ElevSvar3 == $Svaret3) {noget}

Den skal køre op til 20...
Avatar billede schaefner Juniormester
02. december 2004 - 08:17 #1
<?php
for ($i=1; $i<=20; $i++) {
  $Huraa = "d".$i;
  if (${'ElevSvar'.$i} == ${'Svaret'.$i}) {
    print $Huraa."<br />";
  }
}
?>
Avatar billede jensgram Nybegynder
02. december 2004 - 08:17 #2
Hvad er d1, d2 og d3 - konstanter?

if-sætningerne kan laves som:

for ($i = 1; $i <= 3; $i++) {
    $elev = 'ElevSvar' . $i;
    $svar = 'Svaret' . $i;
    if ($$elev == $$svar) {
        noget;
    }
}

men et array ville være at foretrække! Det kan opnås ved at sætte [] efter dine input-felter (hvis input kommer sådan).
Avatar billede jensgram Nybegynder
02. december 2004 - 08:17 #3
PIS
Avatar billede jensgram Nybegynder
02. december 2004 - 08:19 #4
schaefner > Ah, det var sådan (${'ElevSvar'.$i}) - kunne fandme ikke huske syntaksen :)
Avatar billede schaefner Juniormester
02. december 2004 - 08:20 #5
Du kan også gøre det andet :)
Avatar billede jensgram Nybegynder
02. december 2004 - 09:15 #6
Ja, men det ser ikke så fancy ud!
Avatar billede jakoba Nybegynder
02. december 2004 - 10:08 #7
jeg ville også gerne vide hvad  d1, d2, d3, ... er for noget.
    $Huraa = d1;
ligner en kodefejl
Avatar billede engberg Juniormester
02. december 2004 - 11:41 #8
jensgram>> Jeg prøvede faktisk din løsning før jeg skrev herind, men det virker jo ikke..

schaefner>> Hvis din kode "(${'ElevSvar'.$i} == ${'Svaret'.$i})" er rigtig, så er det præcist det jeg skal bruge. Prøver lige når jeg kommer til den rigtige maskine.

jakoba>> d1, d2 o.s.v. er felter i min database.
Avatar billede jakoba Nybegynder
02. december 2004 - 11:50 #9
så er det nok korrekt som schaefner foreslår at de skal skrives som strenge der:
    $Huraa = "d1";
eller
    $Huraa = "d" . $nummer;
Avatar billede jensgram Nybegynder
02. december 2004 - 11:52 #10
for ($i = 1; $i <= 3; $i++) {
    $elev = 'ElevSvar' . $i;
    $svar = 'Svaret' . $i;
    if ($$elev == $$svar) {
        noget;
    }
}


Det _vil_ virke, hvis noget; erstattes af det "rigtige" ;)
Avatar billede engberg Juniormester
04. december 2004 - 08:43 #11
jensgram og  schaefner - kan I ikke lige smide svar, så jeg kan lukke?
Avatar billede jensgram Nybegynder
04. december 2004 - 11:21 #12
slf!
Avatar billede schaefner Juniormester
05. december 2004 - 00:26 #13
svar
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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