2011-11-30 3 views
2

매우 이상한 행동에 직면하고 있습니다. 나중에 사용하기 위해,배열을 조작하지 않고 배열이 이상하게 변경됩니다.

foreach($answer_styles as $id => &$answer_style){ 
    $answer_style['id'] = $id; 
    $answer_style_names[$id] = $answer_style['name']; 
} 
array_multisort($answer_style_names, SORT_ASC, SORT_STRING, $answer_styles); 

를하고 내가 다른 변수에 저장 : 내가 조작해야하는 일부 데이터와 $answer_styles 배열이 $stats['answer_styles'] = $answer_styles;

지금을, 나는 원래의 배열로 단계 필요 루프는 foreach입니다. 나는이 작업을 완료했습니다

debug($stats['answer_styles']); 
foreach($answer_styles as $answer_style){ 
    debug($stats['answer_styles']); 
     ... 

문제는 첫 번째 디버그가 표시되어야합니다 데이터를 보여 주지만, 두 번째 디버그가 첫 번째로 덮어 마지막 레코드를 (표시되는지 그래서, 1, 2, 3, 4는 이제 1, 2, 3, 1을 보여줍니다). $stats 배열을 조작하지 않아서 왜 이런 현상이 발생 하나 $answer_styles 배열을 사용합니까?

이것은 우선, 각각 제 디버그 출력 인

EDIT :이 식 & $의 answer_style와 배열 요소에 대한 참조를 유지하고 사용하기 때문에

app/models/test.php (line 299) 

Array 
(
[0] => Array 
    (
     [name] => Alege din 3 
     [count] => 8 
     [correct] => 2 
     [id] => 3 
    ) 

[1] => Array 
    (
     [name] => Alege din 4 
     [count] => 3 
     [correct] => 2 
     [id] => 2 
    ) 

[2] => Array 
    (
     [name] => Alege din 6 
     [count] => 7 
     [correct] => 3 
     [id] => 4 
    ) 

[3] => Array 
    (
     [name] => Scrie raspunsul 
     [count] => 2 
     [correct] => 1 
     [id] => 1 
    ) 

) 


app/models/test.php (line 301) 

Array 
(
[0] => Array 
    (
     [name] => Alege din 3 
     [count] => 8 
     [correct] => 2 
     [id] => 3 
    ) 

[1] => Array 
    (
     [name] => Alege din 4 
     [count] => 3 
     [correct] => 2 
     [id] => 2 
    ) 

[2] => Array 
    (
     [name] => Alege din 6 
     [count] => 7 
     [correct] => 3 
     [id] => 4 
    ) 

[3] => Array 
    (
     [name] => Alege din 3 
     [count] => 8 
     [correct] => 2 
     [id] => 3 
    ) 

) 
+0

출력을 표시 할 수 있습니까? – Sedz

답변

6

이다 두 번째 루프에서 동일한 변수 이름.

을 수행합니다 첫 번째 루프와 일 후

unset($answer_style); 

가 해결 될 것입니다.

+0

아, 변수를 설정 해제하는 것을 잊어 버렸습니다. 답변 주셔서 대단히 감사합니다. 지금 작동합니다! :) – linkyndy

+0

당신은 환영합니다;) – ioseb

관련 문제