Php 通过保留顺序来更改数组键的最优雅的方法是什么

Php 通过保留顺序来更改数组键的最优雅的方法是什么,php,Php,我有一个超过1000项的大关联数组,我想重命名一个键,但必须保留顺序 我不想迭代整个数组并将其复制到新的数组中。看看数组拼接函数: 这将完成工作可能重复的内容,即您知道密钥的值或您知道要更改的密钥的索引或两者都知道?我只知道密钥名称,而不知道索引位置这与上面的答案相同,它不回答问题。这并没有保留数组的顺序。很抱歉,当我打开它时,问题没有得到回答。以$replacement数组形式提供的密钥将不会被保留。这是可行的,但它会将所有密钥复制到一个新数组中,该新数组在大数组上分配大量RAM。不幸的是,我

我有一个超过1000项的大关联数组,我想重命名一个键,但必须保留顺序


我不想迭代整个数组并将其复制到新的数组中。

看看数组拼接函数:


这将完成工作

可能重复的内容,即您知道密钥的值或您知道要更改的密钥的索引或两者都知道?我只知道密钥名称,而不知道索引位置这与上面的答案相同,它不回答问题。这并没有保留数组的顺序。很抱歉,当我打开它时,问题没有得到回答。以$replacement数组形式提供的密钥将不会被保留。这是可行的,但它会将所有密钥复制到一个新数组中,该新数组在大数组上分配大量RAM。不幸的是,我认为任何解决方案都将涉及创建(一个)新数组。我很想在这里出错。从PHP的C级别来看,这应该是可能的,但找不到这样做的函数:(
$arr[$newkey] = $arr[$oldkey];
unset($arr[$oldkey]);
  $array_keys = array_keys($array);

  $array_keys[array_search('old', $array_keys)] = 'new';

  $array = array_combine($array_keys, $array);
$array[$newkeyname] = $array[$oldkeyname];
unset($array[$oldkeyname]);