PHP数组键更改

时间:2010-12-15 06:00:14

标签: php arrays

我有一个类似

的数组
$arr = array('key1' => 'hello');

现在我需要更改密钥,有什么原因可以实现这个

我知道我可以这样做:

$arr['key2'] = $arr['key1']; unset($arr['key1']);

但是,还有其他方法吗?

3 个答案:

答案 0 :(得分:3)

你这样做的方法是正确的。您无法修改关联数组中的键。您只能添加或删除密钥。如果您发现自己需要进行许多“关键修改”,则可能需要退后一步,评估您是否正在为您的问题使用最合适的数据结构。

答案 1 :(得分:1)

如果你有点疯狂,你可以写一个函数。

function changeKey(array $array, $oldKey, $newKey) {

     if ( ! array_key_exists($array, $oldKey)) {
         return $array;
     }

     $array[$newKey] = $array[$oldKey];
     unset($array[$oldKey]);
     return $array;
}

如果原始密钥不存在,则无效。它还会覆盖现有密钥。

答案 2 :(得分:0)

听起来像这个家伙做的那样

http://www.jbip.net/content/how-replace-keys-array-php