Arne Skrevet 6. januar 2006 Skrevet 6. januar 2006 Halloien! Jeg er ganske ny i php, og lurer på hvordan man bruker foreach. Jeg såg i php-manualen på internett, og forstof ikke igrunnen så mye. Kan noen forklare på norsk, og gi eksempel på hvordan den kan brukes?
Cucum(r) Skrevet 6. januar 2006 Skrevet 6. januar 2006 Viss du har ein array, kan du ikkje gjere det slik: echo $array; // Dette vil printe ut ordet Array, mens det egentlig skulle printa ut for eksempel Per Pål Espen foreach($array as $navn) { echo $navn; } Dette vil printe ut Per Pål Espen, sidan den henter kvart av elementa i arrayet og skriv dei ut ein etter ein.
Arne Skrevet 6. januar 2006 Forfatter Skrevet 6. januar 2006 Og etter man har gjort det, så er arrayet vanligt igjen?
Ueland Skrevet 6. januar 2006 Skrevet 6. januar 2006 Det ligger jo i ordet. "For each" For hver rad i arrayet, la det blir variablenen x.
Arne Skrevet 6. januar 2006 Forfatter Skrevet 6. januar 2006 Og da kan man ikke skrive echo $name[2]; i den?
texaco Skrevet 6. januar 2006 Skrevet 6. januar 2006 for å si det enkelt: den henter data fra 0 til siste post i array. er rett og slett en teller uten at man trenger å bry seg om å vite hvor mange poster arrayet inneholder. array blir ikke forandret av noe grunn, er kun en måte å lese data utifra et array
Arne Skrevet 6. januar 2006 Forfatter Skrevet 6. januar 2006 Kan noen si et eksempel hvor det kan vere nyttig å bruke noe slikt?
MC2 Skrevet 6. januar 2006 Skrevet 6. januar 2006 Mange eksempler her:http://no2.php.net/manual/en/control-structures.foreach.php
mikaelandre Skrevet 7. januar 2006 Skrevet 7. januar 2006 Kan noen si et eksempel hvor det kan vere nyttig å bruke noe slikt? 5393431[/snapback] det er nyttig hver gang du skal gå igjennom et array uten å vite hvor langt det er. da vil du få alle elementer i tur og orden, og du kan gjøre operasjoner på de.
???????? Skrevet 7. januar 2006 Skrevet 7. januar 2006 Det virker som du er ganske ny så jeg kan starte med å forklare hva en array er. En array er en variabel med en "liste" i seg. Tenk deg cd samlingen din, så lagrer vi den i en array: $cd_samling[1] = "Confessions On A Dance Floor"; $cd_samling[2] = "Intensive Care"; og så videre... Hvis tilfellet er f.eks. at du ønsker å liste opp alle filene i en array bruker du foreach($cd_samling as $cd) { echo "Tittel: {$cd} <br>\n"; } Da lister den opp hele samlingen din. Det er viktig å merke seg at foreach() jobber med en kopi av arrayen din.
Arne Skrevet 7. januar 2006 Forfatter Skrevet 7. januar 2006 Takk for alle svar! Håper dere bærer over med at jeg spørr litt mye. Er foreach en slags loop? MikaelAndre: Hvor kan dette vere nyttig å bruke? Hvilke situsjoner? Er det mulig å legge til en verdi i et array ved hjelp av et input? Hvordan?
gather Skrevet 7. januar 2006 Skrevet 7. januar 2006 For each = for hver... ordbok kan være en fin bil!
knuto Skrevet 7. januar 2006 Skrevet 7. januar 2006 Kanskje litt offtopic, men eg går ut i frå at trådstartar har fått svar på sine sprøsmål. Så og seie alle kva er-sprøsmål kan ein få godt svar frå i PHP-manualen eller Google. Kva er-spørsmål, og alle sjuke nybegynnerspørsmål, har etter mi meining gjort dette PHP-forumet totalt ubrukeleg og talentlaust. Om ein har eit skikkeleg sprøsmål drukner det av alle nybegynnersprøsmål som ikkje ein gong burde vore her, og dei som har evne til å svare vil kanskje aldri lese tråden. Nei. Tenk gjennom dine spørsmål slik at ein ikkje øydelegg forumet. Hadde eg vore moderator hadde slike trådar som dette vorte sletta momentant, og ein PM til trådstartaren hadde vorte sendt med eventuelt to linkar: Ein til PHP-manualen og ein til Google.
Gjest Slettet+6132 Skrevet 7. januar 2006 Skrevet 7. januar 2006 (endret) Kanskje litt offtopic, men eg går ut i frå at trådstartar har fått svar på sine sprøsmål. Så og seie alle kva er-sprøsmål kan ein få godt svar frå i PHP-manualen eller Google. Kva er-spørsmål, og alle sjuke nybegynnerspørsmål, har etter mi meining gjort dette PHP-forumet totalt ubrukeleg og talentlaust. Om ein har eit skikkeleg sprøsmål drukner det av alle nybegynnersprøsmål som ikkje ein gong burde vore her, og dei som har evne til å svare vil kanskje aldri lese tråden. Nei. Tenk gjennom dine spørsmål slik at ein ikkje øydelegg forumet. Hadde eg vore moderator hadde slike trådar som dette vorte sletta momentant, og ein PM til trådstartaren hadde vorte sendt med eventuelt to linkar: Ein til PHP-manualen og ein til Google. 5399928[/snapback] Forumet er til for å hjelpe alle brukere, ikke bare de "mer avanserte". EDIT: En kjapp oppsummering av hva foreach er; foreach lar deg utføre en eller flere handlinger for hver oppføring i et array. EDIT: Dustetastatur! Endret 7. januar 2006 av Slettet+6132
mikaelandre Skrevet 7. januar 2006 Skrevet 7. januar 2006 MikaelAndre: Hvor kan dette vere nyttig å bruke?Hvilke situsjoner? Er det mulig å legge til en verdi i et array ved hjelp av et input? Hvordan? 5398407[/snapback] hvis du feks har ei liste med medlemmer, og så skal du skrive <li>navn</li>, så kan du bruke foreach uten å måtte vite hvor mange medlemmer du har. Det er mange måter å legge ting til et array på. du kan bruke $arr[0] = "verdi" eller $arr['nøkkel'] = "verdi" osv. i mange språk kan du også bruke $arr->push('verdi'), usikker på hvordan det er i php. Hvis du da feks henter elementer fra mange plasser, feks noen forskjellige filer, en database og brukerinput, så er det sjelden du vet hvor stort det er. kan selvfølgelig bruke count()... En annen fin ting med php, er at du lager ny variabel for hvert element, så du slipper å skrive $array['nøkkel'] og kan bare skrive $nøkkel, men det er vel bare for å slippe å skrive så mye.
texaco Skrevet 17. januar 2006 Skrevet 17. januar 2006 Takk for alle svar!Håper dere bærer over med at jeg spørr litt mye. Er foreach en slags loop? MikaelAndre: Hvor kan dette vere nyttig å bruke? Hvilke situsjoner? Er det mulig å legge til en verdi i et array ved hjelp av et input? Hvordan? 5398407[/snapback] nøyaktig det samme som loop, bare den avsluttes når foreach har nådd kravet sitt (en do-loop vil fortsette evig)
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å