루프 중에 foreach() 루프의 다음 요소를 수정하려면 어떻게해야합니까? 변수와 참조로 이야기하는 것과 관련이 있다고 생각하지만 어떻게해야할지 모르겠습니다. 예 : ...foreach() 루프 중에 배열의 다음 요소 수정
내가 원하는$arr = array(array('color' => 'red', 'type' => 'apple'),
array('color' => 'yellow', 'type' => 'banana'),
array('color' => 'purple', 'type' => 'grape')
);
foreach($arr as $k => $v) {
echo "<br> The ".$v['type'].' fruit is '.$v['color'];
// change the color of the next fruit?
if($v['type'] == 'apple') { $arr[$k+1]['color'] = 'green'; }
}
이 바나나가 녹색 나에게 말해,하지만 바나나에 그것을 고집 스틱 노란색 인
(UPDATE : 내 원래의 질문에 바보 같은 논리 오류를 수정 아래에 표시된 대답은 정확합니다.
을 유지하는 ... 모든 남았습니다입니다 그럼에도 불구하고 매우 중요한 것). '$ v [ 'type'] == 'banana''가 참일 때, 수정 된 다음 과일은 포도입니다. 바나나가 녹색이면 '$'[ 'type'] == 'apple' '이어야합니다. –
내가 원래의 포스터가 포도의 색을 녹색으로 바꿀 것을 의미하는 다음 요소를 언급 할 때 나는 잘못 생각했다. – ncremins
음, 잘 모르겠습니다. 참조를 사용하면 프로그래밍 오류가 해결됩니다. 그러나 그는 또한 바나나가 초록색 *이라고 말해주기를 원한다. 그 경우 그는 또한 논리 오류가있다. 그러나 당신의 대답은 그를 올바른 길로 인도해야합니다. –