Lurifaksen Skrevet 9. september 2003 Del Skrevet 9. september 2003 Jeg har følgende script (utdrag): $codes = explode(' ', $fc, 9); function returnCode () { static $i = -3; global $codes; $i++; return $codes[$i]; } echo returnCode().''; echo returnCode().'#pw+'; echo returnCode().'+1#<br>'; echo returnCode().'+2#<br>'; echo returnCode().'+3#<br>'; echo returnCode().'+4#<br>'; echo returnCode().'+5#<br>'; echo returnCode().'+6#<br>'; echo returnCode().'+7#<br>'; Jeg ønsker at den linjen som blir returnert i den tredje linjen skal være en variabel ($tekst = teksten som blir returnert i linje 3) Er det mulig å få gjort på en eller annen måte? Det beste hadde egentlig vært hvis jeg kunne gjort om alle de linjene der til variabler, slik at jeg hadde: $linje1 $linje2 $linje3 $linje4 .... Lenke til kommentar
b-urn Skrevet 9. september 2003 Del Skrevet 9. september 2003 Hmm ... Skjønner ikke helt hvorfor du har opprettet funksjonen returnCode(), når du hardkoder under likevel. Skjønner heller ikke hvorfor du starter indeksering på -3. Indeksering på $codes må jo starte på null. Uten at jeg helt er med på hva du prøver på (samt at jeg er litt trøtt), kunne du kanskje gjøre noe slikt: function returnData($fc) { $codes = explode(' ', $fc,9); $newCodes = Array(); for($i=0;$i<count($codes);$i++) { if($i==0) $newCodes[$i] = $codes[$i]; if($i==1) $newCodes[$i] = $codes[$i] . '#pw+'; if($i>1) $newCodes[$i] = $codes[$i] . '+' . ($i-1) . '#<br>'; } return $newCodes; } //Bygger data $fc = "a b c d e f g h i"; $newCodes = returnData($fc); //Skriver ut data for($i=0;$i<count($newCodes);$i++) {echo($newCodes[$i]);} Lenke til kommentar
Lurifaksen Skrevet 9. september 2003 Forfatter Del Skrevet 9. september 2003 Grunnen til at scriptet er litt rart er at jeg ikke har skrevet scriptet selv... (Jeg ville aldri funnet på å skrive rare script!! ) Men jeg tror faktisk at det må være sånn for å fungere, for ditt forslag returnerte ingen av kodene... Men jeg tror ikke du skjønte heller helt hva jeg mente. Når jeg bruker: echo returnCode().''; echo returnCode().''; echo returnCode().'+1#<br>'; echo returnCode().'+2#<br>'; echo returnCode().'+3#<br>'; echo returnCode().'+4#<br>'; echo returnCode().'+5#<br>'; echo returnCode().'+6#<br>'; echo returnCode().'+7#<br>'; Får jeg opp 7 koder. (vet ikke hvorfor de to første må være der. Poenget mitt er at jeg vil ha kode nr. 1 som en variabel! Altså, slik at jeg kan f.eks senere i scriptet ha "echo $kode" for å vise den koden. Lenke til kommentar
_W_ Skrevet 10. september 2003 Del Skrevet 10. september 2003 Du mener bytte ut echo returnCode().'+1#<br>'; med $kode=returnCode();echo $kode.'+1#<br>'; ? Variabler er vanskelige ting. Lenke til kommentar
Lurifaksen Skrevet 10. september 2003 Forfatter Del Skrevet 10. september 2003 Ja det er det jeg mener, men det funker ikke... Altså, om dette hadde virket, er det dette jeg ønsker å oppnå: $kode = echo returnCode().''; $kode0 = echo returnCode().''; $kode1 = echo returnCode().'+1#<br>'; $kode2 = echo returnCode().'+2#<br>'; $kode3 = echo returnCode().'+3#<br>'; $kode4 = echo returnCode().'+4#<br>'; $kode5 = echo returnCode().'+5#<br>'; $kode6 = echo returnCode().'+6#<br>'; $kode7 = echo returnCode().'+7#<br>'; Lenke til kommentar
b-urn Skrevet 10. september 2003 Del Skrevet 10. september 2003 Ja det er det jeg mener, men det funker ikke... Altså, om dette hadde virket, er det dette jeg ønsker å oppnå: $kode = echo returnCode().''; $kode0 = echo returnCode().''; $kode1 = echo returnCode().'+1#<br>'; $kode2 = echo returnCode().'+2#<br>'; $kode3 = echo returnCode().'+3#<br>'; $kode4 = echo returnCode().'+4#<br>'; $kode5 = echo returnCode().'+5#<br>'; $kode6 = echo returnCode().'+6#<br>'; $kode7 = echo returnCode().'+7#<br>'; Tror du stokker kortene litt her. Echo er kommandoen for å skrive data til skjerm. En variabel brukes kun til å holde på data, ikke prosessere dem. Dvs: $kode0 = returnCode().""; ..legger innholdet fra returnCode() inn i variabelen. Ønsker du å skrive ut innholdet til skjerm bruker du echo(). Dvs: echo($kode0) --> Skriver ut resultatet fra kallet til returnCode() Ønsker du å skrive til skjerm og lagre i variabel på en og samme gang? Hva ligger egentlig i $fc? Skal du bare skrive til skjerm, eller skal du kommunisere med noe? Kom med litt mer info om hva du prøver å gjøre her, så blir det litt enklere å hjelpe. Lenke til kommentar
BlueEAGLE Skrevet 10. september 2003 Del Skrevet 10. september 2003 Ja det er det jeg mener, men det funker ikke... Altså, om dette hadde virket, er det dette jeg ønsker å oppnå: $kode = echo returnCode().''; $kode0 = echo returnCode().''; $kode1 = echo returnCode().'+1#<br>'; $kode2 = echo returnCode().'+2#<br>'; $kode3 = echo returnCode().'+3#<br>'; $kode4 = echo returnCode().'+4#<br>'; $kode5 = echo returnCode().'+5#<br>'; $kode6 = echo returnCode().'+6#<br>'; $kode7 = echo returnCode().'+7#<br>'; <?php $codes = explode(' ', $fc, 9); function returnCode () { static $i = -1; global $codes; $i++; return $codes[$i]; } for ($c=0; $c<=7; $c+=1) $kode[$c]=returnCode().'+1#<br>'; ?> Bare et forslag Lenke til kommentar
Lurifaksen Skrevet 10. september 2003 Forfatter Del Skrevet 10. september 2003 Fungerte ikke det heller... Ingenting kom frem. Lenke til kommentar
BlueEAGLE Skrevet 11. september 2003 Del Skrevet 11. september 2003 Fungerte ikke det heller... Ingenting kom frem. Ehh det er fordi den rutinen ikke skriver ut noe. Prøv å var_dump($kode) eller print_r($kode) så vil du se at verdiene ligger der. Hvis du vil skrive dem ut så er det bare å skrive dem ut med f.eks. foreach ($kode as $linje) echo $linje.'<br>'; Hvis dette er mystisk for deg så vil jeg anbefale å kjøpe en bok eller lete på nettet etter artikler om grunnleggende programmeringsteknikk. Lenke til kommentar
Lurifaksen Skrevet 12. september 2003 Forfatter Del Skrevet 12. september 2003 Jeg brukte echo $kode :oops: Men omsider, fikk jeg det til omtrent slik jeg ville, ved å bruke den siste biten av koden din. Jeg dreit i alle de andre kodene, siden det egentlig kun er den første som er nødvendig. Men jeg har en mistanke om at scriptet gjør en del unødvendige ting nå, siden jeg kun skal ha den første. Her er koden jeg bruker nå, som viser akkurat det jeg vil ha ($helegreien er den variabelen jeg hele tiden har vært på jakt etter). $codes = explode(' ', $fc, 9); function returnCode () { static $i = -1; global $codes; $i++; return $codes[$i]; } for ($c=0; $c<=0; $c+=1) $kode[$c]=returnCode(); foreach ($kode as $linje) $helegreien = "<b>#pw+$linje+1#</b>"; echo $helegreien; Er det noe som kan forbedres i den koden? (tenker spesielt på "for ($c=0; $c<=0; $c+=1)" som kanskje ikke er helt nødvendig?) Tusen takk for hjelpen!! 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å