我有一个如下所示的数组。
$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);
但这只是在“My”是值而不是键时将“My”替换为“Your”。
那么我该如何更改密钥?
$arrnew = array_combine(str_replace("My","Your",array_keys($arr)), $arr);
您无法就地更改密钥,但您可以执行以下操作:
foreach($arr as $key => $value) {
$arr[str_replace("My","Your",$key)] = $value;
unset($arr[$key]);
}
这将添加一个带有新键的新元素,取消旧元素的设置
希望这有帮助
你可以试试这个:
foreach($arr as $key => $val){
$newkey = str_replace("My","Your",$key);
unset($arr[$key]);
$arr[$newkey] = $val;
}