在PHP中为每个数组键添加一个字符

时间:2011-05-13 13:00:45

标签: php arrays

  

可能重复:
  Fastest way to add prefix to array keys?

我在PHP中有一个关于数组的快速问题。我需要为数组中的每个键添加几个字符,例如:

  

name =>标记年龄=> 23重量=> 150

需要转换为:

  

r_name => Mark r_age => 23 r_weight =>   150

任何帮助都将不胜感激,谢谢。

3 个答案:

答案 0 :(得分:14)

迭代数组,使用修改后的键添加新项目并删除原始项目:

foreach ($arr as $key => $val) {
    $arr['r_'.$key] = $val;
    unset($arr[$key]);
}

由于foreach适用于数组的内部副本,因此不会遇到无限循环。

答案 1 :(得分:1)

答案 2 :(得分:1)

如果你可以肯定,你的数组中没有两个键$ K1,$ K2,$ K1 =“r _”。$ K2,你可以使用Gumbo给出的解决方案 - 它高效又好看。

如果你不能保证规定的条件,我宁愿用改变的密钥生成一个新的数组,然后删除/覆盖旧的数组。 这不像其他解决方案那样具有内存效率,但不会失败。

要记住的另一件事是,在PHP中取消设置有点慢。因此,取消设置数组中的许多元素可能比使用副本并删除原始文件后要慢。