嗨我有一个像下面这样的数组。
$arr = Array ( [My_name] => Sam [My_location] => United_Kingdom [My_id] => 1 );
我试图改变
中的键 My_name, My_Location, My_id
到
Your_name, Your_Location, Your_id
所以最终的数组看起来像
Array ( [Your_name] => Sam [Your_location] => United_Kingdom [Your_id] => 1 );
我希望像str_replace这样的东西能起作用
$arrnew = str_replace("My","Your",$arr);
但如果“我的”是一个值,而不是一个键,那么这只是将“我的”替换为“你的”。
那我该怎么改变钥匙?
感谢您的帮助。
答案 0 :(得分:5)
$arrnew = array_combine(str_replace("My","Your",array_keys($arr)), $arr);
答案 1 :(得分:2)
您无法就地更改密钥,但您可以执行以下操作:
foreach($arr as $key => $value) {
$arr[str_replace("My","Your",$key)] = $value;
unset($arr[$key]);
}
这将添加一个新元素,其中新键将取消设置旧元素
希望这有帮助
答案 2 :(得分:0)
你可以试试这个:
foreach($arr as $key => $val){
$newkey = str_replace("My","Your",$key);
unset($arr[$key]);
$arr[$newkey] = $val;
}