2014-07-23 4 views
0

이것은 초보자 용 질문 일 수는 있지만 이해가되지 않습니다. I 배열이PHP str_replace 배열 키 쌍

말 :

$form = Array 
(
    [Resource_ID] => 5251 
) 

및 I는 공백

대체되어야
$form = Array 
    (
     [Resource ID] => 5251 
    ) 

밑줄로 출력 할 수 있습니다.

나는

foreach($form as $key => $value) 
{ 
$form [$key] = str_replace("_"," ",$form [$key]); 
} 

을 시도하지만이 작동하지 않습니다! 어디서 잘못 알 수 있습니까?

+0

'array ([ "resource id"] => 5251) 밑줄을 사용하지 않으면 배열에 따옴표를 추가하십시오. – Torrezzzz

+0

배열 키 * inplace *를 변경할 수 없으면 새 것을 추가해야합니다 오래된 것을 제거하십시오. – Yoshi

답변

0

당신은 이러한 코드를 사용해야합니다

foreach($form as $key => $value) 
{ 
    $abc[str_replace("_"," ",$key)] = $value; 
    // unset($abc[$key]); <- this could cause problem 
} 

또는

foreach($form as $key => $value) 
{ 
    $pos = strpos($key,'_'); 
    if ($pos !== false) { 
    $abc[str_replace("_"," ",$key)] = $value; 
    unset($abc[$key]); 
    } 
} 

그러나 두 경우 모두에서 당신은 키가 있다면 무엇을 고려해야

: key 1key_1을. 가치를 무시하거나 심지어 그것을 제거 할 수있는 것 같습니다 (설정하지 않았는지 여부에 따라 다름).