可能是重复的问题:
在数组键中添加前缀的最快方法?
我有一个关于PHP数组的快速问题。 我需要在数组中的每个键上添加几个字符,例如:
name => Mark age => 23 weight = > 150
需要转换为:
r_name => Mark r_age => 23 r_weight => 150
任何帮助将不胜感激,谢谢。
可能是重复的问题:
在数组键中添加前缀的最快方法?
我有一个关于PHP数组的快速问题。 我需要在数组中的每个键上添加几个字符,例如:
name => Mark age => 23 weight = > 150
需要转换为:
r_name => Mark r_age => 23 r_weight => 150
任何帮助将不胜感激,谢谢。
迭代数组,使用修改后的键添加一个新项并删除原始项:
foreach ($arr as $key => $val) {
$arr['r_'.$key] = $val;
unset($arr[$key]);
}
foreach
会使用数组的内部副本,因此你不会遇到无限循环的情况。
如果您可以确定数组中没有两个键$K1,$K2,其中$K1 = "r_".$K2,则可以使用Gumbo提供的解决方案-它高效且美观。
如果无法保证上述条件,则最好生成一个具有更改键的新数组,然后删除/覆盖旧数组。这不像其他解决方案那样内存高效,但不会失败。
还要记住的另一件事是,在PHP中取消设置有点慢。因此,在数组中取消设置大量元素可能比使用副本并在之后删除原始元素更慢。