2013-07-20 1 views
1

안녕하세요 아래의 배열이 있습니다.PHP에서 배열의 키를 변경 하시겠습니까?

$arr = Array ([My_name] => Sam [My_location] => United_Kingdom [My_id] => 1); 

그리고 메신저 그래서 최종 배열이

Array ([Your_name] => Sam [Your_location] => United_Kingdom [Your_id] => 1); 

내가 않는 str_replace 같은 것을 기대했다 같을 것이다

Your_name, Your_Location, Your_id 

My_name, My_Location, My_id 

에서 키를 변경하려고 작동하겠습니까

$arrnew = str_replace("My","Your",$arr); 

그러나 "My"가 키가 아닌 값인 경우 "My"를 "Your"로 바꿉니다.

그럼 어떻게 키를 바꿀 수 있습니까?

도움 주셔서 감사합니다.

+0

최선의 선택이 같은에서 작동 할 수없는 str_replace를 기억하기위한 첫 번째 장소 –

답변

5
$arrnew = array_combine(str_replace("My","Your",array_keys($arr)), $arr); 
+0

하나의'name''id', 그리고'location' 같은보다 일반적인 키 배열을 만들 아마 문자열뿐만 아니라 배열 –

2

당신이 자리에서 키를 변경할 수 있지만,이 같은 것을 수행 할 수 있습니다

foreach($arr as $key => $value) { 
    $arr[str_replace("My","Your",$key)] = $value; 
    unset($arr[$key]); 
} 

이 새로운 키는 기존의 요소를

희망을 해제하기에 새로운 요소를 추가합니다을이

을하는 데 도움이
0

이 작업을 시도 할 수 :

foreach($arr as $key => $val){ 
    $newkey = str_replace("My","Your",$key); 
    unset($arr[$key]); 
    $arr[$newkey] = $val; 
} 

데모 : http://codepad.org/3vKkmAXx

관련 문제