In PHP, how do you change the key of an array element?

后端 未结 23 2642
逝去的感伤
逝去的感伤 2020-11-22 03:45

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 I

23条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-22 04:25

    This function will rename an array key, keeping its position, by combining with index searching.

    function renameArrKey($arr, $oldKey, $newKey){
        if(!isset($arr[$oldKey])) return $arr; // Failsafe
        $keys = array_keys($arr);
        $keys[array_search($oldKey, $keys)] = $newKey;
        $newArr = array_combine($keys, $arr);
        return $newArr;
    }
    

    Usage:

    $arr = renameArrKey($arr, 'old_key', 'new_key');
    

提交回复
热议问题