2013-08-27 4 views
-3

Я пытаюсь сломать foreach, если его больше 20, но мой код не прерывает цикл. Пожалуйста, исправьте мой код:PHP - break foreach loop не работает

$limit = 1; 
foreach($ids as $id){ 

    if(check_if_exists($id) == 0){ 

     echo 'success <br />'; 

     if ($limit >= 20) break; 
     $i++; 
    }else{ 
     echo 'Already exists <br />'; 
    } 
} 
+5

Используйте '$ предела ++;' вместо '$ я ++;'. Вы увеличиваете '$ i' не' $ limit' – Bora

+0

И каково значение для '$ limit' –

+0

OH !! thanks BORA – user007

ответ

2
$limit = 1; 
foreach($ids as $id){ 

    if(check_if_exists($id) == 0){ 

     echo 'success <br />'; 

     if ($limit >= 20) break; 

    }else{ 
     echo 'Already exists <br />'; 
    } 
$limit++; 
} 
2

Это будет

if(check_if_exists($id) == 0){ 

    echo 'success <br />'; 

    if ($limit >= 20) break; 
    $limit++; 
}else{ 
    echo 'Already exists <br />'; 
} 

Вам нужно увеличивать $limit не $i

1

Вам нужно увеличивать $limit .Не $i.

$limit = 1; 
foreach($ids as $id){ 
    if(check_if_exists($id) == 0){ 
     echo 'success <br />'; 
     if ($limit >= 20) 
      break; 
     $limit++; 
    }else{ 
     echo 'Already exists <br />'; 
    } 
} 
1

Вы приращение неправильных переменный:

if ($limit >= 20) break; 
    $limit++;     // Change this line 
}else{ 
    echo 'Already exists <br />';