Gå til innhold

Summere tall i array vha for-løkke


Anbefalte innlegg

Hei,

 

tar opp et fag atm på skolen og det er grunnleggende php. tipper oppgaven min er banalt enkel men har sykt brain freeze akkurat nå. Setter pris på hjelp

 

Bruk arrayet i oppgave 3. Summer alle tallene med en for-løkke.

 

$liste = array(1,2,3,4,5,6,7,8,9);

 

for ($i=0;$i<9;$i++)

{

#echo $liste[$i>;

#echo array_sum($liste[$i>);

}

 

er hva jeg har prøvd denne gangen(prøvd i ca 1 time så har vært mange ulagrete forsøk ). Er jo egentlig bare å bruke array_sum, men siden han spesifikt ber om en for-løkke må det vel gjøre på en annen måte?

 

Vet også at forreach hadde vært mye enklere, men må altså bruke en for. sigh

 

Har prøvd å søke endel men finner bare forreach-metoder. Og de fungerte ikke like godt med for akkurat :)

 

takk for all hjelp

Endret av eirikri
Lenke til kommentar
Videoannonse
Annonse

Hvis for-løkken skal ha noen effekt på summeringen så må du ha en egen variabel som holder summen. Følgende kode ville jeg da skrevet

 

$sum = 0;
for ($index = 0; $index < count($array); $index++)
{
 $sum += $array[$index];
}
echo $sum;

 

Jeg ville selvsagt også nevnt at array_sum() gir samme resultatet.

 

EDIT: Legg merke til at jeg bruker $index og ikke $i. Det gjør jeg av hensyn til lesbarheten. Det er min faste mening at gode variabelnavn er en forutsetning for god kode.

Endret av BlueEAGLE
Lenke til kommentar

Det er klart at gode og beskrivende variabelnavn er alfa-omega for god lesbarhet, men bruk av $i som indeks i løkker er en såpass innarbeidet standard at den ville jeg ikke klaget for mye på.

Hvis man aldri vil ha behov for å vite hva den indeksen representerer og jeg kan ikke komme på et eneste gyldig argument for å bruke $i fremfor $change_index eller $member_counter.

 

Det forbauser meg egentlig veldig at så mange tutorialer og lærebøker bruker enkelbokstaver i variabelnavn når de skal forklare konsepter når det i de fleste tilfeller for en nybegynner ville være mer forståelig om variabelnavnet faktisk var et ord.

 

Hvis vi ser på php-manualens eksempel 4 for for-løkker så er det

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);

Bruk litt tid på å se på den koden og finn ut hva den gjør. Så gjør du det samme med koden under og fortell meg hvilken av de to du bruker lengst tid på å forstå.

 

for ($counter = 1, $counter_sum = 0; $counter <= 10; $counter_sum += $counter, print $counter, $counter++);

 

Det er dobbelt så mye kode men den krever en fjerdedel av kaloriene å forstå når koden leses. Når man tenker på at brukermanualens kodestil ofte blir kopiert av nybegynnere så taler denne typen eksempler mot sin hensikt. Spesielt hvis nybegynneren ikke forstår hva som skjer og følgelig ikke ser verdien i muligheten som blir beskrevet.

  • Liker 1
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...