Avatar billede psychoras Novice
15. maj 2015 - 13:38 Der er 4 kommentarer og
1 løsning

Erstat keys i array

Hej!

Jeg har det følgende array, hvor jeg ønsker at erstatte 'Vægt' med 'Vaegt':

Array ( [Vægt] => Array ( [0] => 250g [1] => 500g ) [Formalingsgrad] => Array ( [0] => Hele bønner [1] => Stempelkande [2] => Pour-over [3] => Filter ) )

Har forsøgt med følgende kode:

foreach( $array as &$arr ) {
  $arr["Vaegt"] = $arr['Vægt'];
  unset( $arr['Vægt'] );
}
unset($arr);

Det giver mig følgende (forkerte) resultat:

Array ( [Vægt] => Array ( [0] => 250g [1] => 500g [Vaegt] => ) [Formalingsgrad] => Array ( [0] => Hele bønner [1] => Stempelkande [2] => Pour-over [3] => Filter [Vaegt] => ) )


Nogen idéer?
Avatar billede barefordi Nybegynder
15. maj 2015 - 14:08 #1
Avatar billede olsensweb.dk Ekspert
15. maj 2015 - 16:12 #2
kig på nedenstående
   
<?php
$array = array (
    'Vægt' => array ('250g', '500g' ),
    'Formalingsgrad' => array ('Hele bønner', 'Stempelkande','Pour-over', 'Filter ')
);

print_r($array);

foreach( $array as $key => $value) {
    if($key == 'Vægt'){
        $array['Vaegt'] = $value ;
        unset ($array['Vægt']);   
    } 
}

print_r($array);
?>
Avatar billede moddi100 Seniormester
16. maj 2015 - 01:18 #3
Ingen grund til at lave en foreach-løkke, når du alligevel ved hvad du søger efter:

<?php
$array = array (
    'Vægt' => array ('250g', '500g' ),
    'Formalingsgrad' => array ('Hele bønner', 'Stempelkande','Pour-over', 'Filter ')
);

// Lav ny key
$array['Vaegt'] = $array['Vægt'];

// $array indeholder nu både den nye og den gamle key.
// så fjern den gamle
unset($array['Vægt']);
?>
Avatar billede psychoras Novice
17. november 2015 - 09:43 #4
Smid et svar :-)
Avatar billede olsensweb.dk Ekspert
17. november 2015 - 10:35 #5
svar
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