2009-11-06 6 views
0

이것은 여러분 중 일부에게는 간단하지만 초보자 코더는 간단 할 수 있습니다. 어떻게 루프를 종료 한 후에이 foreach 루프를 종료 할 수 있습니까? 번호는 다른 조건을 반복하면서 계속 재설정됩니다. 여러 개의 a가 있습니다. 약 100 명이므로 250 명까지 도달 할 수 없습니다.foreach 루프에서 정수를 저장하는 방법

$i = 0; 

foreach ($a as $b) { 
    //do function 

    i++; 

    if (i == 250) 
    { 
    exit; 
    } 
} 
+0

왜 250 번 실행해야합니까? foreach의 목적은 카운터 등의 필요성을 없애는 것입니다. – Corin

+0

그게 ... 내가 할 수있는 한, 효과가있다. – Amber

+0

루프 내에 포함 된 함수는 제한에 도달하면 전체 응용 프로그램을 종료해야합니다. – user201349

답변

6

"i"중 두 개에 "$"기호가 없습니다. 그것은이어야합니다 :

+0

그리고 증가도. 좋은 캐치, 나는 그것을 스스로 놓쳤다. C.에 사용. – Joost

3

$ i는 for-loop 외부에서 선언 되었기 때문에 재설정하지 말아야합니다. 그러나, 조각 내에서 구문 오류가 :

$i = 0; 

foreach($a as $b) 
{ 
    // do something with $b 
    if(++$i == 250) exit; 
} 
+0

da5ids의 의견은 동일합니다. for 루프 내의 'i'변수 앞에 '$'기호를 추가하는 것을 잊었으므로 실제로 '$ i'의 값을 변경하지 않았습니다. .. –

2

당신은 루프 내에서 변수 내가 전에 달러 기호 ($)이 누락 :

$i = 0; 
foreach ($a as $b) 
{ 
    //do function 
    $i++;  
    if ($i == 250) 
    { 
     exit; // or break; 
    } 
} 
1

는 $는 단지 배열을 포함하는 경우 당신이 말했듯이 약 100 개 요소 중 $ 1이 250인지 점검 할 필요가 없습니다. 코드가 $ a의 모든 요소를 ​​거친 후 foreach 루프가 종료되고 다음 코드로 넘어갑니다. 당신이 수를 유지하기 위해 찾고 있다면

foreach($a as $b) { 
    echo $b . '<br />'; 
} 

echo 'Loop has finished'; 

대신에 사용한다 :

for ($i = 0; $i < count($a); $i++) { 
    echo 'Element ' . $i . ' is ' . $a[$i] . '<br />'; 
    if ($i == 250) { 
    break; // this will exit the loop 
    } 
} 

echo 'Loop has finished'; 
관련 문제