Je kan natuurlijk net zo goed in een nieuwe array die values setten; dat maakt voor het voorbeeld niet zo veel uit.
De volgende oplossing lijkt mij beter:
PHP:
1
2
3
| $array = array_flip($array); //draai alle keys en values om
array_change_key_case($array, CASE_UPPER); //maak alle values uppercase
$array = array_flip($array); //draai alle values en keys om |
Uhm, het gaat toch juist om de keys? Dan moet je 'm toch niet eerst flippen, lijkt me? Nu pas je feitelijk alle values aan. het gebruik van array_flip niet echt geschikt voor deze toepassing (ik heb het namelijk ook overwogen in combinatie met een array_map) aangezien je alle elementen kwijtraakt die toevallig dezelfde waarde hebben.
Als ik de array ( aantal => 3, fiets => 3 ) heb, dan is het natuurlijk niet de bedoeling dat vanwege de case conversion er alleen maar ( FIETS => 3) overblijft.
Maar als gezegd; alleen array_change_key_case is goed genoeg.