Replace keys in an array based on another lookup/mapping array

arrays, associative-array, key, mapping, php

Solution

$arr[$newkey] = $arr[$oldkey];
unset($arr[$oldkey]);

Problem

I have an associative array in the form `key => value` where key is a numerical value, however it is not a sequential numerical value. The key is actually an ID number and the value is a count. This is fine for most instances, however I want a function that gets the human-readable name of the array and uses that for the key, without changing the value. I didn't see a function that does this, but I'm assuming I need to provide the old key and new key (both of which I have) and transform the array. Is there an efficient way of doing this?

Original source

Related problems