/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Gemme i array i løkke
Fra : Kim Ludvigsen


Dato : 09-03-11 19:54

Jeg prøver at gemme en værdi i et array i en løkke. Mit
problem er, at jeg ikke kun får tilføjet sidst i arrayet,
jeg får samtidig overskrevet den/de tidligere værdier i arrayet.

Min kode er i stil med dette:

for ($i=0; $i<=2; $i+=1) {
// her udregnes nogle værdier

$arr[$i]="værdierne";
}

Hvis jeg udskriver $arr[$i] inde i løkken, udskrives de
rette værdier for hver gennemgang af løkken.

Hvis jeg udskriver uden for løkken, kan jeg kun udskrive
$arr[2], både $arr[0] og $arr[1] er tomme.

Jeg har prøvetat tilføje med $arr[]="værdierne"; men det gør
ingen forskel.

var_dump($arr) i løkken udskriver:
array(1) { [0]=> string(2044) "...
array(1) { [1]=> string(2059) "...
array(1) { [2]=> string(2068) "

Uden for løkken får jeg udskrevet:
array(1) { [2]=> string(2068) "

Hvad gør jeg forkert?

--
Mvh. Kim Ludvigsen
Undgå virus og andet snavs på computeren:
http://pc-sikkerhed.dk

 
 
Andreas Andersen (09-03-2011)
Kommentar
Fra : Andreas Andersen


Dato : 09-03-11 20:06

Den 09-03-2011 19:53, Kim Ludvigsen skrev:
> Jeg prøver at gemme en værdi i et array i en løkke. Mit problem er, at
> jeg ikke kun får tilføjet sidst i arrayet, jeg får samtidig overskrevet
> den/de tidligere værdier i arrayet.
>
> Min kode er i stil med dette:
>
> for ($i=0; $i<=2; $i+=1) {
> // her udregnes nogle værdier
>
> $arr[$i]="værdierne";
> }
>
> Hvis jeg udskriver $arr[$i] inde i løkken, udskrives de rette værdier
> for hver gennemgang af løkken.
>
> Hvis jeg udskriver uden for løkken, kan jeg kun udskrive $arr[2], både
> $arr[0] og $arr[1] er tomme.

Det giver ingen mening, at det ikke skulle virke. Kan du poste al din kode?

--
Andreas

Kim Ludvigsen (09-03-2011)
Kommentar
Fra : Kim Ludvigsen


Dato : 09-03-11 20:24

Andreas Andersen skrev:

> Det giver ingen mening, at det ikke skulle virke. Kan du
> poste al din kode?

Her er php-filen:
http://rejse-til-thailand.dk/vejrmoduler.php
Og her i txt-format:
http://rejse-til-thailand.dk/vejrmoduler.txt

--
Mvh. Kim Ludvigsen
Tips til hjemmesidesnedkeren:
http://kimludvigsen.dk/tips-internet-websnedker-multimedia.php

Andreas Andersen (09-03-2011)
Kommentar
Fra : Andreas Andersen


Dato : 09-03-11 20:35

Den 09-03-2011 20:24, Kim Ludvigsen skrev:
> Andreas Andersen skrev:
>
>> Det giver ingen mening, at det ikke skulle virke. Kan du
>> poste al din kode?
>
> Her er php-filen:
> http://rejse-til-thailand.dk/vejrmoduler.php
> Og her i txt-format:
> http://rejse-til-thailand.dk/vejrmoduler.txt

Slet den her linje: $vejr = array(); Du laver et nyt array hver gang
løkken kører.

--
Andreas



Kim Ludvigsen (09-03-2011)
Kommentar
Fra : Kim Ludvigsen


Dato : 09-03-11 20:45

Andreas Andersen skrev:
> Den 09-03-2011 20:24, Kim Ludvigsen skrev:
>> Andreas Andersen skrev:
>>
>>> Det giver ingen mening, at det ikke skulle virke. Kan du
>>> poste al din kode?
>>
>> Og her i txt-format:
>
> Slet den her linje: $vejr = array(); Du laver et nyt array
> hver gang løkken kører.

Tak! Ak, de timer jeg spilder på dumme fejl ...

--
Mvh. Kim Ludvigsen
Imponér familie og venner med ny viden om danske ord og
ordsprog.
http://ordforklaring.dk


Bertel Lund Hansen (10-03-2011)
Kommentar
Fra : Bertel Lund Hansen


Dato : 10-03-11 03:29

Kim Ludvigsen skrev:

> Tak! Ak, de timer jeg spilder på dumme fejl ...

Det er jo de timer vi andre har 'spildt' på dumme fejl, der gør
at vi kan hjælpe dig.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

scootergrisen (09-03-2011)
Kommentar
Fra : scootergrisen


Dato : 09-03-11 20:06

> for ($i=0; $i<=2; $i+=1) {
> // her udregnes nogle værdier
>
> $arr[$i]="værdierne";
> }

> var_dump($arr) i løkken udskriver:
> array(1) { [0]=> string(2044) "...
> array(1) { [1]=> string(2059) "...
> array(1) { [2]=> string(2068) "

At [0] og [1] er tomme er nok fordi du har tildelt dem en tom værdi i
dine udregninger.
Altså ligesom at skrive $arr[0] = "";

Men når du vil dele noget til sidste i et array så det bedre at bruge :

$arr[] = $noget;

Så skal du ikke tænke på hvad nummer det sidste index har.

Så det lyder mere som om du skal kigge på din linie hvor du har skrevet
// her udregnes nogle værdier. For tror mere det er der det sker...
eller rettere ikke sker.

Og som et lille side hint så kan du skrive $i++ i stedet for $i+=1 så
øges værdien med 1.

Birger Sørensen (09-03-2011)
Kommentar
Fra : Birger Sørensen


Dato : 09-03-11 20:18

Kim Ludvigsen forklarede den 09-03-2011:
> Jeg prøver at gemme en værdi i et array i en løkke. Mit problem er, at jeg
> ikke kun får tilføjet sidst i arrayet, jeg får samtidig overskrevet den/de
> tidligere værdier i arrayet.
>
> Min kode er i stil med dette:
>
> for ($i=0; $i<=2; $i+=1) {
> // her udregnes nogle værdier
>
> $arr[$i]="værdierne";
> }
>
> Hvis jeg udskriver $arr[$i] inde i løkken, udskrives de rette værdier for
> hver gennemgang af løkken.
>
> Hvis jeg udskriver uden for løkken, kan jeg kun udskrive $arr[2], både
> $arr[0] og $arr[1] er tomme.
>
> Jeg har prøvetat tilføje med $arr[]="værdierne"; men det gør ingen forskel.
>
> var_dump($arr) i løkken udskriver:
> array(1) { [0]=> string(2044) "...
> array(1) { [1]=> string(2059) "...
> array(1) { [2]=> string(2068) "
>
> Uden for løkken får jeg udskrevet:
> array(1) { [2]=> string(2068) "
>
> Hvad gør jeg forkert?

har du defineret $arr som værende et array?
lyder lidt som den oprettes hver gang du lægger noget i den...
Inde i løkken siger den også, at arrayet kun her eet element - array(1)

Eller har du noget af det i en funktion, der ikke kender den
oprindelige variabel?

"I stil med" ... det er svært at fejlfinde på

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste