Avatar billede DGudiksen Nybegynder
26. februar 2011 - 16:25 Der er 3 kommentarer og
1 løsning

Hjælp med at søge i array

Hej alle eksperter, har i den grad brug for jeres viden.

Har brug for at finde et bestem value i et array, og ændre på det.

Mit array ser således ud:


array('Id' => "1", 'Pris' => "1000", 'Text' => "Vand Alarm", 'Antal' => "3");


Det vil sige, at et dump derfra kan se sådan her ud:


array(3) { [0]=> array(4) { ["Id"]=> string(1) "1" ["Pris"]=> string(4) "1000" ["Text"]=> string(10) "Vand Alarm" ["Antal"]=> string(1) "3" } [1]=> array(4) { ["Id"]=> string(1) "2" ["Pris"]=> string(4) "1000" ["Text"]=> string(10) "Vand Alarm" ["Antal"]=> string(1) "3" } [2]=> array(4) { ["Id"]=> string(1) "3" ["Pris"]=> string(4) "1000" ["Text"]=> string(10) "Vand Alarm" ["Antal"]=> string(1) "3" } }


Har så brug for at vide om f.eks id 1 allerede er i mit array, derefter skal jeg have ændret Antal i den netop den post.

Har søgt lidt rundt, men kan ikke helt finde noget som jeg kan bruge.

Har været inde og kigge lidt på:
array_search - Men det kan jeg ikke få til at virke :(
in_array - Men det kan jeg heller ikke få til at virke.

Måske nogle af jer har en smart måde at tilgå det her på?
Avatar billede jakobdo Ekspert
26. februar 2011 - 17:19 #1
Kunne du ikke starte med at ændre dit array lidt, så i stedet for at lave:

array('id' => 1...)
Så lave det sådan:

$data = array(
1 => array(...)

Så vil du kunne bruge:

array_key_exists() til at se om et ID er i dit array og bare rette det via:

$data[$id]['antal'] = $ny_antal;
Avatar billede phillips Nybegynder
03. marts 2011 - 20:18 #2
Hvis du ikke vil ændre dit array, må du loope gennem det i stedet:

    foreach( $array as $arr ) :
   
        if( $arr['Id'] == 1 ) :
       
            $array[key( $array )]['Antal'] = 60;
       
        endif;
   
    endforeach;

Men det er ikke nær så effektivt som Jakob's forslag.
Avatar billede DGudiksen Nybegynder
09. oktober 2012 - 21:00 #3
#2 virkede, tak for det.
Avatar billede DGudiksen Nybegynder
15. april 2014 - 17:55 #4
lukket
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

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