2012-02-19 18 views
2

foreach를 사용하여 배열 구성원의 값을 설정하는 방법이 있습니까?foreach 루프 내부에서 멤버 값을 설정하는 방법

<? 
    $arr = array(0=>'a',1=>'b',2=>'c',3=>'d'); 

    foreach($arr as $key => $value){ 
    $value = 'a'; 
    } 

    var_dump($arr); 
?> 

반환 :

array(4) { 
    [0]=> 
    string(1) "a" 
    [1]=> 
    string(1) "b" 
    [2]=> 
    string(1) "c" 
    [3]=> 
    string(1) "d" 
} 

내가 그것을 반환하려고 노력하고 있어요 것은 :

array(4) { 
     [0]=> 
     string(1) "a" 
     [1]=> 
     string(1) "a" 
     [2]=> 
     string(1) "a" 
     [3]=> 
     string(1) "a" 
    } 

는 여기에 내가 사용하던 codepad에 대한 링크입니다.

http://codepad.org/FQpPYFtz

+0

한 최소한의, 완전하고 유용하게 추출 된 샘플을 제공. 더 많은 사람들이 이렇게해야합니다. – Tomalak

답변

3
$arr = array(0=>'a',1=>'b',2=>'c',3=>'d'); 

foreach($arr as $key => &$value) { // <-- use reference to $value 
    $value = 'a'; 
} 

var_dump($arr); 
+1

내가 찾고 있었던 바로 그 빠른 수정. 이 참조 할 일을 더 잘 이해하려고 노력해야 할 것 같습니다. 이 점을 지적 해 주셔서 감사합니다! –

3

그것은 매우 간단합니다 :

foreach ($data as $key => $value) { 
    $data[$key] = 'new value'; 
}