Avatar billede 4u2x Nybegynder
30. juni 2010 - 15:33 Der er 9 kommentarer og
1 løsning

Opdatere værdi i et array

Har et multidimensional array hvor strukturen ser således ud:
$data[] = array('telefon' => $nr, 'alder' => $alder, 'dato' => $dato);

Jeg vil høre om der er nogen som kan forklare/vise hvordan jeg kan ændre værdien i feltet "alder". Eksempelvis $alder += 1; som normalt kan bruges hvis man vil ligge 1 oveni i værdien.
Avatar billede repox Seniormester
30. juni 2010 - 15:36 #1
Hvis $data[] er det første element i $data arrayet, kan du tilgå 'alder' indekset således:
$data[0]["alder"] = 23;
Avatar billede 4u2x Nybegynder
30. juni 2010 - 15:53 #2
Det skal lige nævnes at der er mange af disse array og jeg derfor ikke "bare lige" kan sige $data[0]["alder"] = (23 + 1);

Havde forestillet mig noget med at man ledte efter rækken "telefon" og "dato" som tilsammen skulle udelukke irrelevante array-rækker så det kun er det rigtige array der bliver fremvist.
Avatar billede repox Seniormester
30. juni 2010 - 15:57 #3
Taget ud af sammenhæng giver det ikke meget mening; det lyder som om du har valgt en rigtig dårlig løsningsmodel.
Du bør kunne identificere din bruger på anden vis end at iterere gennem dit array for at finde det rette array. Selvfølgelig kan det lade sig give sig, men det virker tåbeligt og resourcekrævende.
Avatar billede The_Buzz Novice
30. juni 2010 - 16:10 #4
$data[0]['alder'] = $data[0]['alder']+1;

Var det det du ville?
Avatar billede 4u2x Nybegynder
30. juni 2010 - 16:19 #5
Har du et foreslag til en bedre model/struktur?

Lige nu ser min data således ud:
$data[] = array('telefon' => 1111, 'alder' => 10, 'dato' => 1234);

$data[] = array('telefon' => 2222, 'alder' => 20, 'dato' => 2345);

$data[] = array('telefon' => 3333, 'alder' => 30, 'dato' => 3456);
Avatar billede 4u2x Nybegynder
30. juni 2010 - 16:36 #6
the_buzz > noget i den stil ja, men den kode du har lavet vil ikke fungere da array'et ikke er ens hver gang jeg laver det, hvilket er grunden til at jeg vil have en funktion der finder det array der skal ændres en værdi i.
Avatar billede repox Seniormester
30. juni 2010 - 16:36 #7
Hvis telefonnummeret er unikt, ville jeg bruge det til indeksering.
$data[$nr] = array(' 'alder' => $alder, 'dato' => $dato);

Så kan du altid identificere datarækken via
$data[4444]
Avatar billede 4u2x Nybegynder
30. juni 2010 - 16:46 #8
repox > hvordan ville du så ændre værdien hvis array'et ser ud som du foreslår? I dette tilfælde ligge 1 oven i feltet "alder".

$data[$nr] = array(' 'alder' => $alder, 'dato' => $dato);
Avatar billede 4u2x Nybegynder
30. juni 2010 - 16:55 #9
denne her ser ud til at virke fint (dejlig standard) så den løber jeg videre med :)
$depotbelob["2222"]["slutbelob"] += 40;

tak for hjælpen, ligger du et svar repox?
Avatar billede repox Seniormester
30. juni 2010 - 16:59 #10
Du fik et svar her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester