lilminime Skrevet 10. mars 2006 Del Skrevet 10. mars 2006 (endret) Hei, jeg er ganske ny i php. Eller, har kunnet litt en god stund, men er bare i underkant av en uke siden jeg begynte for alvor å teste meg fram i det. Nå har jeg kommet dit at jeg har lært meg litt om array() funksjonen. Der har jeg virkelig støtt på et lite problem. Jeg prøver og lage et lite skjema der jeg skal trykke inn et numer, da skal den verdien jeg trykker inn kopieres inn via $_GET funksjonen til test.php slik at dette skal fungere: echo $users['bvalg']; Men når jeg tester filene, og trykker inn verdien i index.php printes ingenting ut i "test.php" filen. Her er filene, filnavnene burde vært litt motsatt, men drit i det. Har jo ingenting og si. Her har dere de to scriptene: test.php <html> <title>Inngangstada</title> <form action="index.php" method="get"> <b>Skriv inn valg, 0-3...</b> <input type="text" name="bvalg" value=""> </form> </html> index.php <?php $brukervalg = $_GET['bvalg']; $users = array(0 => "Alta", "Fauske", "Steigen", "Bodø"); echo $users['bvalg']; ?> Edit:[ Nå har jeg endre linjen echo $users['bvalg']; til echo $users['$brukervalg'];, men får fortsatt ingenting printet ut. Bare en blank side... Håper dere skjønte problemstillingen. Dette er ikke noe viktig problem, fordi det er som sagt bare jeg som vil teste meg fram, løse litt problemer og skjønne litt om de forskjellige feltene i faget. Takk for hjelp Endret 10. mars 2006 av [email protected] Lenke til kommentar
Paull Skrevet 10. mars 2006 Del Skrevet 10. mars 2006 Kan se ut som om det er en liten bug i echo-statementen i index.php; bytt om "echo $users['bvalg'];" til "echo $users[$brukervalg];".. Lenke til kommentar
lilminime Skrevet 10. mars 2006 Forfatter Del Skrevet 10. mars 2006 Det funket ikke, får blank side når jeg har skrevet inn verdien og da den skulle blitt printet ut på lerette. Lenke til kommentar
CruellaDeVille Skrevet 10. mars 2006 Del Skrevet 10. mars 2006 Hei, jeg er ganske ny i php. Eller, har kunnet litt en god stund, men er bare i underkant av en uke siden jeg begynte for alvor å teste meg fram i det. Nå har jeg kommet dit at jeg har lært meg litt om array() funksjonen. Der har jeg virkelig støtt på et lite problem. Jeg prøver og lage et lite skjema der jeg skal trykke inn et numer, da skal den verdien jeg trykker inn kopieres inn via $_GET funksjonen til test.php slik at dette skal fungere:echo $users['bvalg']; Men når jeg tester filene, og trykker inn verdien i index.php printes ingenting ut i "test.php" filen. Her er filene, filnavnene burde vært litt motsatt, men drit i det. Har jo ingenting og si. Her har dere de to scriptene: test.php <html> <title>Inngangstada</title> <form action="index.php" method="get"> <b>Skriv inn valg, 0-3...</b> <input type="text" name="bvalg" value=""> </form> </html> index.php <?php $brukervalg = $_GET['bvalg']; $users = array(0 => "Alta", "Fauske", "Steigen", "Bodø"); echo $users['bvalg']; ?> Håper dere skjønte problemstillingen. Dette er ikke noe viktig problem, fordi det er som sagt bare jeg som vil teste meg fram, løse litt problemer og skjønne litt om de forskjellige feltene i faget. Takk for hjelp 5729934[/snapback] En array kan sees på som en kommode med ting inni. $users = array() oppretter en tom array, klar for å få ting inni seg. $users = array("Alta", "Bodø", "Tromsø", "Fauske"); oppretter en array med fire elementer. Disse har en nummerert index, teller fra null til tre. Så egentlig står det at i skuff 0 ligger "Alta", i skuff 1 ligger "Bodø" osv etc mm. Hvis du lurer på hva variabelen din inneholder kan du bruke funksjonen var_dump(variabelen); Så kan man opprette en array i flere dimensjoner. Da kan man se på de som en tabell. $users = array(0=> "Alta", "Fauske", "Steigen", "Bodø"); oppretter en todimensjonal array, nesten som hvis du kan tenke et excel regneark, hvor det står null i den første kolonnen og "Alta", "Fauske", "Steigen", "Bodø" i hver av de neste. Videre kan du legge til $users[1] = array("Bergen", "Askøy", "Sotra"); $users[2] = array("Oslo", "Askim", "Bærum"); I php har du også noe som heter en assosiativ array. Det vil si at du trenger ikke bruke tall som index i arrayen din. Eksempelvis kan jeg lage en assosiativ array slik: $person = array('navn'=>'Cruella DeVille', 'alder'=>33, 'yrke'=>'student', 'favorittspråk'=>'php'); Til sist: hvordan looper jeg gjennom en array: foreach(arrayen_din as $ett_eller_annet_som_gir_mening_for_deg){ //gjør noe med tingene, eksempelvis print $ett_eller_annet_som_gir_mening_for_deg; } hvis du tenker at jeg har en tabell, hvor hele tabellen heter users. Denne har felter som "Per", "pål" og "espen". Da vil loopen bli slik: foreach($users as $navn){ print $navn . "<br />"; } Denne skriver ut Per pål espen Så tilbake til den assosiative arrayen: Den loopes på en litt annen måte - foreach($person as $opplysning=>$verdi){ // gjør det du vil med variablene, eksempelvis print $opplysninger . " - " . $verdi." <br />"; } denne skriver ut: navn - Cruella DeVille alder - 33 yrke - student favorittspråk - php Det finnes en rekke ting du kan gjøre med arrays, feks sortere de (sort, arsort, asort), reversere de(array_reverse), søke i de(in_array()), merge to arrays (array_merge()) osv osv osv osv. Mer kan du lese her: http://no2.php.net/manual/en/ref.array.php Litt klarere? Lenke til kommentar
Paull Skrevet 10. mars 2006 Del Skrevet 10. mars 2006 Nå har jeg endre linjenecho $users['bvalg']; til echo $users['$brukervalg'];, men får fortsatt ingenting printet ut. Bare en blank side... Du må ikke ha fnuttene med rundt brukervalg.. Linjen skal altså være "echo $users[$brukervalg];" ikke "echo $users['$brukervalg'];" Lenke til kommentar
lilminime Skrevet 10. mars 2006 Forfatter Del Skrevet 10. mars 2006 CruellaDeVille: Takk, dette gjorde det mye klarere for min side. Ja, ting ble litt klarere nå. Lenke til kommentar
lilminime Skrevet 10. mars 2006 Forfatter Del Skrevet 10. mars 2006 Takk Paul, det funket:) 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å