PHP ForEach - cómo saltar a otro índice

Tengo un loop de PHP foreach y me gustaría hacer una condición si es verdadero para saltar al índice +2. Sé acerca de continuar que irá al siguiente, pero mi objetivo es ir al índice_actual + 2.

Esto es porque tengo una caja de interruptores y necesito hacer algo adentro.

También sé que esto es posible con el bucle for estableciendo manualmente el $ i , pero para el bucle foreach, ¿es posible?

0
foreach es explícitamente para cada elemento en una matriz.
agregado el autor deceze, fuente
Agregue su código en cuestión para obtener una mejor solución.
agregado el autor Kumar V, fuente

3 Respuestas

No puede hacer eso con foreach() . Utilice para() en su lugar para controlar el índice usted mismo

0
agregado
Esta respuesta solo es válida si una matriz indexada numéricamente es la condición. Una matriz asociativa rompería esto
agregado el autor Sterling Archer, fuente
Entonces, ¿dos bucles?
agregado el autor Sterling Archer, fuente
Realmente no. No quise decir que no puedas acceder a la matriz fuente indirectamente. Puede, por ejemplo, obtener claves de su matriz de origen primero, y luego for() sobre esa matriz.
agregado el autor Marcin Orlowski, fuente

¿Por qué no cambiar su matriz a una pila? Bucle con una cláusula while y cada vez que desee omitir 1, 2 o muchos más simplemente pop o shift fuera de la matriz (pop/shift en función de la dirección de su ciclo inicial, por supuesto).

0
agregado

Creo que puede utilizar mejor el bucle for , esto le da un poco más de control sobre el bucle.

$array = [];

for($i = 0; $i < 100; $i++) {
    if ($array[$i]) $i+=2;
}
0
agregado
PHP - Comunidad española
PHP - Comunidad española
6 de los participantes

En este grupo hablamos de PHP. Partner: es.switch-case.com