entre diferencia php foreach continue

diferencia - php break foreach continue



php foreach continue (4)

Estoy tratando de saltar a la siguiente iteración del ciclo si ciertas condiciones no se cumplen. El problema es que el ciclo continúa independientemente.

¿Dónde me he equivocado?

Ejemplo de código actualizado en respuesta al primer comentario.

foreach ($this->routes as $route => $path) { $continue = 0; ... // Continue if route and segment count do not match. if (count($route_segments) != $count) { $continue = 12; continue; } // Continue if no segment match is found. for($i=0; $i < $count; $i++) { if ($route_segments[$i] != $segments[$i] && ! preg_match(''/^/x24[0-9]+$/'', $route_segments[$i])) { $continue = 34; continue; } } echo $continue; die(); // Prints out 34


El continue dentro del ciclo for saltará dentro del ciclo for , no del ciclo foreach .


El segundo continuar está en otro ciclo. Este solo "reiniciará" el circuito interno. Si desea reiniciar el bucle externo, debe dar una indicación de cuánto bucle debe subir

continue 2;

Ver Manual


Está llamando continue en un bucle for , así que continuará para el bucle for , no para el foreach . Utilizar:

continue 2;


Si intenta que su segundo continue aplicando al bucle foreach , tendrá que cambiarlo de

continue;

a

continue 2;

Esto le indicará a PHP que aplique la instrucción continue al segundo ciclo anidado, que es el ciclo foreach . De lo contrario, solo se aplicará al bucle for .