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

后端 未结 23 2652
逝去的感伤
逝去的感伤 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:37

    If you want also the position of the new array key to be the same as the old one you can do this:

    function change_array_key( $array, $old_key, $new_key) {
        if(!is_array($array)){ print 'You must enter a array as a haystack!'; exit; }
        if(!array_key_exists($old_key, $array)){
            return $array;
        }
    
        $key_pos = array_search($old_key, array_keys($array));
        $arr_before = array_slice($array, 0, $key_pos);
        $arr_after = array_slice($array, $key_pos + 1);
        $arr_renamed = array($new_key => $array[$old_key]);
    
        return $arr_before + $arr_renamed + $arr_after;
    }
    

提交回复
热议问题