nepz Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 (endret) Har problemer med en kode, tror jeg har gjort alt riktig. Er sikkert bare en enkel ting. Noen som ser hva som er feil? Hadde vært nice om noen kunne svart meg før klokka 00.00, da skal oppgaven leveres. Det er en kode for å liste ut tall fra 0 tilogmed 20. echo $sum / sizeof( $liste); for($i=0; $i<count($table); $i++) { if($table[$i]>0 && ($table[$i]<20)); { echo "$table[$i]"; { Endret 7. oktober 2012 av Krissey Lenke til kommentar
hjahre Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 Ikke ha semikolon etter if. echo $sum / sizeof( $liste); for($i=0; $i<count($table); $i++) { if($table[$i]>0 && ($table[$i]<20)) { echo "$table[$i]"; } } 1 Lenke til kommentar
nepz Skrevet 7. oktober 2012 Forfatter Del Skrevet 7. oktober 2012 Ikke ha semikolon etter if. echo $sum / sizeof( $liste); for($i=0; $i<count($table); $i++) { if($table[$i]>0 && ($table[$i]<20)) { echo "$table[$i]"; } } Herlig! Takk skal du ha, men tallene vises ikke av en eller annen grunn? Har du en idé til hva jeg kan gjøre? Lenke til kommentar
hjahre Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 Du kan prøve med echo $table[$i]; i stedet for echo "$table[$i]"; Det er lenge sida jeg har holdt på med PHP, men jeg tror dette burde funke Lenke til kommentar
nepz Skrevet 7. oktober 2012 Forfatter Del Skrevet 7. oktober 2012 Du kan prøve med echo $table[$i]; i stedet for echo "$table[$i]"; Det er lenge sida jeg har holdt på med PHP, men jeg tror dette burde funke Ingen forskjell. Takk for hjelpen uansett! Lenke til kommentar
Sk!ppy Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 (endret) Hva inneholder $table før denne snutten? Sånn ellers ville jeg løst det slik: <?php for($i=1; $i<21; $i++) { echo $i; } ?> Endret 7. oktober 2012 av Sk!ppy Lenke til kommentar
hjahre Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 Du er sikker på at alle tallene i tabellen er høyere enn 0 og lavere enn 20? Og at $table faktisk inneholder de talla du tror den skal inneholde? Lenke til kommentar
nepz Skrevet 7. oktober 2012 Forfatter Del Skrevet 7. oktober 2012 $liste = array(20, 34,-4,4,5,11,-23); Det er listen min. Lenke til kommentar
hjahre Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 $liste = array(20, 34,-4,4,5,11,-23); Det er listen min. Og du looper gjennom $table. Bytt ut $table med $liste eller sett $table = $liste før for-løkka, så tror jeg du har det Lenke til kommentar
Sk!ppy Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 Koden blir isåfall <?php $table = array(20, 34,-4,4,5,11,-23); echo $sum / sizeof( $table); for($i=0; $i<count($table); $i++) { if($table[$i]>0 && ($table[$i]<20)) { echo $table[$i]; } } ?> Den lister ut de tallene i listen som er mellom 0 og 20. Lenke til kommentar
nepz Skrevet 7. oktober 2012 Forfatter Del Skrevet 7. oktober 2012 (endret) Takk skal dere ha! Vet ikke hva jeg har surra med. Endret 7. oktober 2012 av Krissey Lenke til kommentar
slacky Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 (endret) Koden blir isåfall <?php $table = array(20, 34,-4,4,5,11,-23); echo $sum / sizeof( $table); for($i=0; $i<count($table); $i++) { if($table[$i]>0 && ($table[$i]<20)) { echo $table[$i]; } } ?> Den lister ut de tallene i listen som er mellom 0 og 20. Dette er en fin plass å bruke foreach. $table = array(20, 34,-4,4,5,11,-23); echo $sum / sizeof($table); //$sum er ikke definert. foreach($table as $tbl) { if($tbl>0 && ($tbl<20)) { echo $tbl; } } PS: Du har ikke definert variablen $sum. Jeg kan tenke meg at denne er definert tidligere i koden (noe du ikke viser oss)..? Om ikke, så vil den echo-statementen altid returnere 0, da $sum = 0 (ingen definisjon). 0/7=0. Endret 7. oktober 2012 av warpie Lenke til kommentar
nepz Skrevet 7. oktober 2012 Forfatter Del Skrevet 7. oktober 2012 Nå surrer jeg mye her. <?php echo "<strong>Oppgave 1</strong>"; echo "<br/>"; $liste = array(20, 34,-4,4,5,11,-23); echo "<br/>"; foreach ($liste as $verdi) { echo $verdi.", "; } echo "<br/>"; $sum = 0; foreach ($liste as $element) { $sum = $sum + $element; } echo "<br/>"; echo "Summen av alle tall i Arrayet er $sum."; echo "<br/>"; echo "Gjennomsnitt av tallene"; //Utregning av gjennomsnitt echo "<br/>"; $sum = ''; foreach( $liste as $tall ) { $sum += $tall; } $table = array(20, 34,-4,4,5,11,-23); echo $sum / sizeof( $table); for($i=0; $i<count($table); $i++) { if($table[$i]>0 && ($table[$i]<20)) { echo $table[$i]; } } ?> Nå får jeg ikke en ny linje som jeg kan ha de tallene jeg har listet ut. De kommer bare etter det jeg har skrevet hva gjennomsnittet er.... Lenke til kommentar
slacky Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 (endret) Virker som det er mye klipp og lim, samt feilene er helt grunleggende <?php echo "<h2>Oppgave 1</h2>"; $liste = array(20, 34,-4,4,5,11,-23); foreach ($liste as $verdi) echo $verdi.", "; echo "<br/>"; $sum = 0; foreach ($liste as $element) $sum = $sum + $element; echo "<br/>"; echo "Summen av alle tall i Arrayet er: <i>".$sum."</i> <br/>"; echo "Gjennomsnitt av tallene: <br/>"; //Utregning av gjennomsnitt $sum = 0; foreach( $liste as $tall ) $sum += $tall; echo "</i> ".$sum / sizeof($liste)."</i><br /><br />"; echo "Resten av tallene finenr du under:<br />"; foreach($liste as $tbl) { if($tbl>0 && ($tbl<20)) { echo $tbl.", "; } } ?> Endret 7. oktober 2012 av warpie 1 Lenke til kommentar
hjahre Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 Bytt ut $sum = '' med $sum = 0 Lenke til kommentar
slacky Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 (endret) Tok meg tiden til å omformulere koden litt. Pyntet litt på den. <?php echo "<h2>Oppgave 1</h2>"; $liste = array(20, 34,-4,4,5,11,-23); //Array to string. $verdi = ""; foreach ($liste as $data) $verdi .= "$data, "; //kalkulere totalsum $sum = 0; foreach ($liste as $element) $sum = $sum + $element; //kalkulere gjennomsnitt $sum = 0; foreach( $liste as $tall ) $sum += $tall; $average = $sum / sizeof($liste); //Tallene som er positive, men under 20 $positive = ""; foreach($liste as $tbl) { if($tbl>0 && $tbl<20) $positive .= $tbl.", "; } //Fjerner siste komma fra listene $positive = substr($positive, 0,-2); $verdi = substr($verdi, 0,-2); echo "Listen inneholder: <i>{$verdi}</i> <br /><br />"; echo "Summen av alle tall: <i>{$sum}</i> <br/><br />"; echo "Gjennomsnitt av tallene: <i>{$average}</i><br/><br />"; echo "Positive tall som har verdi under 20: <i>{$positive}</i><br /><br />"; ?> Gøy å gjøre leksene for andre :-D Endret 8. oktober 2012 av warpie Lenke til kommentar
nepz Skrevet 8. oktober 2012 Forfatter Del Skrevet 8. oktober 2012 Tok meg tiden til å omformulere koden litt. Pyntet litt på den. <?php echo "<h2>Oppgave 1</h2>"; $liste = array(20, 34,-4,4,5,11,-23); //Array to string. $verdi = ""; foreach ($liste as $data) $verdi .= "$data, "; //kalkulere totalsum $sum = 0; foreach ($liste as $element) $sum = $sum + $element; //kalkulere gjennomsnitt $sum = 0; foreach( $liste as $tall ) $sum += $tall; $average = $sum / sizeof($liste); //Tallene som er positive, men under 20 $positive = ""; foreach($liste as $tbl) { if($tbl>0 && $tbl<20) $positive .= $tbl.", "; } //Fjerner siste komma fra listene $positive = substr($positive, 0,-2); $verdi = substr($verdi, 0,-2); echo "Listen inneholder: <i>{$verdi}</i> <br /><br />"; echo "Summen av alle tall: <i>{$sum}</i> <br/><br />"; echo "Gjennomsnitt av tallene: <i>{$average}</i><br/><br />"; echo "Positive tall som har verdi under 20: <i>{$positive}</i><br /><br />"; ?> Gøy å gjøre leksene for andre :-D Jeg kommer sikkert med noen flere tråder iløpet av året! Det er bare å glede seg! : - ) Takk for oppussingen av dokumentet mitt! Lenke til kommentar
Crowly Skrevet 8. oktober 2012 Del Skrevet 8. oktober 2012 Er ikke nødvendig å bruke så mange looper, finnes ferdige funksjoner som gjør samme jobben <?php echo "<h2>Oppgave 1</h2>"; $liste = array(20, 34,-4,4,5,11,-23); //Array to string. $verdi = implode(',',$liste); //kalkulere totalsum $sum = array_sum($liste); //kalkulere gjennomsnitt $average = $sum / count($liste); //Tallene som er positive, men under 20 foreach($liste as $tbl) { if($tbl>0 && $tbl<20) $positive[]=$tbl; } echo "Listen inneholder: <i>{$verdi}</i> <br /><br />"; echo "Summen av alle tall: <i>{$sum}</i> <br/><br />"; echo "Gjennomsnitt av tallene: <i>{$average}</i><br/><br />"; echo 'Positive tall som har verdi under 20: <i>'.implode(',',$positive).'</i><br /><br />'; ?> Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå