2014-11-12 1 views
0

에서 interation 재시작 동안은 할이루프 예컨대 제로

$x = array(
    array(
     array(1, 2, 3, 4), 
     array(5, 6, 7, 8) 
    ) 
) 

같은 배열이

$j = 0; 
for($i = 0; $i < count($x[0][$j]); $i++){ 

} 

같은 배열이 일부 조건
수를 발생한다면 그때 루프 나는 $ j를 증가시키고 0에서 loop $ i를 계속 리셋합니까? 그래서 $ x [0] [$ j] [0] = 5. 그렇게하는 방법은?

현재, 난 노력이

$j = 0; 
for($i = 0; $i < count($x[0][$j]); $i++){ 
    if(/*somecondition*/){ 
     $j++; 
     continue; 
    } 
} 
+0

당신이'너무 $ X가 무엇을 의미 [0] [$의 J] [0] = 5.'? (조건이 다음 iteration에서 0이되도록 $ i 역시 -1로 설정할 수 있습니다.) – Rizier123

+0

ups, sorry .. 업데이트 된 질문을보십시오. –

+0

첫 번째 예제에서 중복 배열 호출을하고'$ x [$ j]'대신'$ x [0] [$ j]'를 사용하는 이유가 있습니까? – Devon

답변

2

방금 ​​조건에 해당하는 경우는 0을의 다음 반복에서, 그래서 조건이 때 true 당신이 -1으로 설정할 수 있습니다 $i = 0를 계속하려면 ! 이처럼

을 :

if(/*somecondition*/){ 
    $j++; 
    $i = -1; //So in the next iteration when it gets incrementet by 1 it's 0 
} 
+0

참고 : 이것은'for' 루프에 대한 세 번째 인수로'$ i ++'가 있기 때문입니다. '$ i ++'는 다음 반복에서'$ i'에 1을 더합니다. – Devon