Bucle PHP con poscondición. Bucles en PHP. Usando continuar en un bucle for

El bucle for es uno de los bucles más utilizados en cualquier lenguaje de programación. En este artículo, veremos más de cerca el bucle for de PHP.

Operador de bucle for en PHP

Un bucle for en PHP ejecuta un bloque de código una determinada cantidad de veces en función de un contador. En este caso, el número de veces que se debe ejecutar un bloque de código se determina de antemano antes de ingresar al cuerpo del bucle.

for es uno de los tipos de bucle más complejos. En PHP, un bucle for se comporta de manera similar a C. A continuación se muestra la estructura de sintaxis:

for(expresión1;expresión2;expresión3) declaración;

En la descripción anterior palabra clave for indica un bucle. Los paréntesis definen las expresiones y luego la declaración a ejecutar.

¿Cómo funciona un bucle for en PHP?

Para comprender cómo funciona el bucle for, debemos comprender estas tres expresiones. Expresión: expresión1 es la primera, que se ejecuta solo una vez antes de ingresar al ciclo. Se lleva a cabo incondicionalmente. Esto significa que la expresión se ejecutará la primera vez antes de ingresar al ciclo.

Expression1 se llama expresión de inicialización porque se usa para inicializar el contador que se usa en expresión2 y expresión3.

Expresión2 ( verificación de condición) se verifica para determinar si la condición permite ejecutar la instrucción o no. La primera vez se ejecuta después de expresión1, luego antes de ingresar al ciclo.

Normalmente la expresión2 contiene operador condicional para comprobar si la condición devuelve verdadero o falso. Si la condición devuelve verdadera, se ejecutará la declaración escrita en el bucle.

Expression3 se ejecuta al final de cada iteración después de la declaración de bucle. Normalmente los programadores lo llaman expresión incremental. Usan esta expresión para incrementar el valor de un contador que se inicializó en expresión1 y se evaluó en expresión2.

Las tres expresiones son opcionales. También puedes crear un bucle PHP como se muestra a continuación:

para (;;) declaración;

for(;expresión2;expresión3) declaración;

Si tenemos varias líneas en un bucle for, use llaves como se muestra a continuación:

for(expresión1;expresión2;expresión3)( declaración1; declaración2; declaración3; )

Para diagrama de flujo de bucle

En el primer paso, se ejecuta la expresión1. Si observa detenidamente el diagrama de bloques, encontrará que no existe ninguna condición para la expresión1. expresión1 es similar al flujo del programa que se está ejecutando.

El siguiente paso ejecuta la expresión2 inmediatamente después de la expresión1. Comprueba si la condición del bucle es verdadera. Si la condición es verdadera, el bucle continuará ejecutándose; de ​​lo contrario, el hilo saldrá del bucle.

Si expresión2 devuelve verdadero, entonces el tercer paso ejecutará la declaración escrita en el bucle for. Después de esto, se ejecutará la tercera expresión expresión3.

Después de ejecutar la expresión3, el hilo verifica la expresión2 nuevamente y el bucle continúa hasta que la expresión2 devuelve falso.

Un ejemplo simple de un bucle for en PHP

Consideremos el caso en el que necesita mostrar números del 1 al 10 separados por comas. A continuación se muestra el código:

para($i=1;$i<=10;$i++) print $i.",";

O con una llave:

para($i=1;$i<=10;$i++) { print $i.","; }

La expresión $i=1 es expresión1, que se ejecuta incondicionalmente. Usamos expresión1 para inicializar la variable a $i=1.

La expresión2 es la expresión $i :

$yo=1; para(;$i<=10;$i++) { print $i.","; }

$yo=1; para(;$i<=10;) { print $i.","; $i++; }

Expresión compleja en un bucle for

Puedes escribir tres expresiones en un bucle for. Podemos escribir varias declaraciones en cada expresión en un bucle for. Los operadores deben estar separados por comas.

Veamos el ejemplo del código anterior para imprimir un número del 1 al 10. Usando múltiples operadores en una expresión, puede escribir el siguiente código:

para($i=1; $i<=10; print $i . ",", $i++);

Aquí la expresión3 es print $i.’,’, $i++ , que combina dos operadores, uno es print $i. ',' y el segundo es $ i++ .

Arriba hay un ejemplo en el que hemos utilizado varios operadores en expresión3. Pero también puedes utilizar múltiples operadores en cualquier expresión. Por ejemplo:

De manera similar, puedes imprimir todos los números impares menores de 10 usando el siguiente código:

Matriz y bucle for en PHP

Puede utilizar un bucle PHP for para iterar a través de una matriz. Por ejemplo, tenemos una matriz que contiene los nombres de diferentes personas. Necesitamos mostrar todos los nombres:

$nombres = array("Ankur", "John", "Alegría"); $cuenta = cuenta($nombres); para($contador=0;$contador<$count;$counter++){ print $names[$counter]; }

También puedes usar matriz multidimensional en un bucle for:

$nombres = matriz(matriz("id" => 1, "nombre" => "Ankur"), matriz("id" => 2, "nombre" => "Joe"), matriz("id" => 3, "nombre" => "Juan"),); $cuenta = cuenta($nombres); para ($contador = 0; $contador< $count; $counter++) { print "Name".$names[$counter]["name"]." ID".$names[$counter]["id"]."n"; }

Bucle anidado

Es posible utilizar un bucle for anidado en PHP. Ejemplo:

$metrix = matriz(matriz(1, 2, 3), matriz(2, 1, 3), matriz(3, 2, 1),); $cuenta = cuenta($metrix); para ($contador = 0; $contador< $count; $counter++) { $c_count = count($metrix[$counter]); for ($child = 0; $child < $c_count; $child++) { echo $metrix[$counter][$child]; } }

Tenemos una matriz multidimensional y usamos dos bucles for de PHP para mostrar los valores de sus elementos.

Cuando se utiliza un bucle anidado, puede utilizar la expresión del bucle for principal en el bucle secundario. Por ejemplo:

para ($i = 1; $i<= 5; $i++) { for ($j = 1; $j <= $i; $j++) { echo "*"; } echo "
"; }

El programa anterior es uno de los más populares para imprimir el símbolo * en forma de triángulo rectángulo.

Incremento en un bucle for

En casi todos los ejemplos anteriores, utilizamos expresión3, que es la última expresión, como instrucción de incremento. También a menudo aumentamos el valor en uno en todos los ejemplos, por ejemplo $i++ o $j++ y así sucesivamente. Pero podemos aumentar el contador según nuestros requerimientos. Por ejemplo, para imprimir todos los números impares del 1 al 15, puede inicializar el ciclo con el valor 1 e iterar hasta 15, incrementando el contador en 2:

para($contador = 1; $contador<=15;$counter=$counter+2){ print $counter.","; }

La salida del código anterior será " 1,3,5,7,9,11,13,15 " Aquí incrementamos la variable contador en +2 usando la expresión $counter=$counter+2 .

Salir del bucle for

Puede romper un bucle bajo una determinada condición utilizando la palabra clave break. No forma parte de un bucle y se utiliza para interrumpir la ejecución de declaraciones for, foreach, while, do- while y switch. Veamos cómo la palabra clave break detiene un bucle for.

Un ejemplo simple donde imprimimos todos los números en una matriz hasta 100:

$serie = matriz(1, 8, 5, 3, 100, 9, 7); para ($i = 0, $cuenta = cuenta($serie); $i<= $count; $i++) { if (100 == $series[$i]) { break; } echo $series[$i] . " "; }

Aquí rompemos el ciclo verificando si el valor del elemento de la matriz es igual a 100.

También puedes romper un bucle PHP anidado a través de una matriz pasando la profundidad, por ejemplo, break 1, break 2 y así sucesivamente. Vea el ejemplo a continuación:

for ($i = 0;; $i++) ( switch ($i) ( caso 1: echo "Este es uno"; break 1; //Esto solo romperá la declaración de cambio case 2: echo "Esto es dos"; break 1; // Esto nuevamente solo romperá la declaración de cambio caso 3: echo "Esto es tres" break 2 // Esto romperá tanto el cambio como el bucle for))

Aquí, la interrupción 1 interrumpirá la declaración de cambio, pero la interrupción 2 interrumpirá la declaración actual así como la declaración principal, es decir, tanto switch como for .

Usando continuar en un bucle for

En la sección anterior, aprendimos cómo salir de un bucle. Pero, ¿qué sucede si necesita omitir una iteración del ciclo y volver al ciclo? PHP tiene la palabra clave continuar para esto.

Recordemos un ejemplo de generación de números impares. Todo lo que hicimos fue iniciar el ciclo en 1, incrementar el contador en 2 e imprimir el resultado. Implementemos este ejemplo usando continuar:

para ($i = 0; $i< 20; $i++) { if ($i % 2 == 0) { continue; } echo $i . ","; }

En el ejemplo anterior, verificamos la expresión $i%2 == 0 y si es verdadera, usando la palabra clave continuar, saltamos el resto del ciclo y volvemos a la expresión3 ($i++) y luego a la expresión2 ($i:

A veces es necesario transferir datos de una tabla de base de datos a una matriz usando PHP.

La nota: Se activa la versión adaptativa del sitio, que se adapta automáticamente al pequeño tamaño de su navegador y oculta algunos detalles del sitio para facilitar la lectura. ¡Disfruto ver!

¡Hola queridos lectores y suscriptores habituales! Es hora de continuar con la serie de artículos sobre PHP y hoy estudiaremos algo tan básico y a la vez muy importante como son los bucles. ¿Qué es lo primero que necesitas saber sobre los ciclos? Y el hecho de que se utilizan en todas partes, y las plantillas para Joomla, VirtueMart, Wordpress, OpenCart y cualquier otro CMS no son una excepción.

¿Qué es un ciclo? Ciclo es la repetición repetida del mismo fragmento de código. La cantidad de repeticiones que hay que hacer depende del contador de ciclos, que nosotros mismos creamos y podemos controlar. Esto es muy conveniente, por ejemplo, cuando necesitamos mostrar productos en una categoría de tienda en línea, mostrar publicaciones de blog, mostrar comentarios sobre un artículo o producto, todos los menús en CMS (motores de sitios web) también se crean mediante ciclos; En general, los bucles se utilizan con mucha frecuencia.

Pero antes de pasar a los bucles en sí, primero debe comprender los operadores. incremento Y decremento.

El operador ++ (incremento) aumenta el valor de una variable en uno, mientras que el operador -- (decremento) disminuye el valor de una variable en uno. Son muy convenientes para usar en bucles como contador y en programación en general. También hay incrementos/decrementos PRE y incrementos/decrementos POST:

PRE incremento/decremento ++$a Incrementa $a en uno y devuelve el valor de $a. --$a Disminuye $a en uno y devuelve el valor de $a. POST incremento/decremento $a++ Devuelve el valor de $a y luego incrementa $a en uno. $a-- Devuelve el valor de $a y luego disminuye $a en uno.

Por ejemplo:

$a = 1; echo "Número de salida: ". $a++; // Imprime el número: 1 echo "Imprime el número: " . $a; // Imprime el número: 2 echo "Imprime el número: $a"; $a += 1; // igual que en la primera línea$a = 1; echo "Número de salida: ". +$a; // Imprime el número: 2 echo "Imprime el número: ". $a; // Genera el número: 2 $a += 1; echo "Número de salida: $a"; // lo mismo que en la primera línea de este bloque

en bucle

for (parte A; parte B; parte C)( // Cualquier código, tantas líneas como quieras; )

El bucle for consta de 3 partes y el cuerpo mismo. Parte A simplemente hace lo que dice, normalmente en el 90% de los casos crea un contador de bucle. Parte B- esto, en términos generales, ya nos resulta familiar si, es decir, comprobar la verdad (¿verdad?). Si la condición es verdadera, es decir verdadero, luego PHP entra en el bucle y continúa ejecutándolo. Parte C- Lo mismo que la parte A, por regla general, en la Parte C hacemos algún tipo de transformación con el contador. Por ejemplo:

"; ) echo "SALIÓ DEL BUCLE y avanzó por el código..."; ?>

Ahora sobre el algoritmo para el bucle for. Lo primero que PHP ve es que va a la parte A y la ejecuta solo una vez (ver imagen a continuación). A continuación, PHP va a la parte B y comprueba si es verdadero o falso. Si es verdadero, ejecuta el cuerpo del bucle y solo después pasa a la parte C. Después de esto, PHP vuelve a ir a la parte B y comprueba si todavía es cierto allí o no. Si no, entonces el ciclo termina; en caso afirmativo, continúa hasta que la parte B contenga falso.

El resultado del ejemplo anterior:

Mientras bucle

while (parte B)( // Cualquier código, tantas líneas como quieras; )

Como puedes ver, no existe la parte A y la parte C, del bucle for solo queda una condición, es decir la parte B. Si necesitamos usar un contador, entonces debemos colocarlo dentro del bucle while, entre el resto del código, esta será la parte C. Se necesita crear el contador antes del inicio de la construcción while:

Parte A; while (parte B)( // Cualquier código, tantas líneas como se desee; Parte C; )

Convirtamos el bucle for anterior en un bucle while:

"; $i++; ) echo "SALIÓ DEL BUCLE y avanzó por el código..."; ?>

El resultado será exactamente el mismo. Qué usar: un bucle for o un bucle while es cuestión de gustos, mira qué te resulta más conveniente y lógico, no hay diferencia.

Hacer... bucle while

Menos común de todos los tipos de ciclo. Esencialmente este es un tiempo invertido. Su truco es que PHP definitivamente ingresará al cuerpo del bucle do... while al menos una vez (la primera vez), porque en este bucle hay una condición al final:

Parte A; do( // Cualquier código, tantas líneas como quieras; Parte C; ) while(Parte B);

"; $i++; )mientras($i< 8); echo "ВЫШЛИ ИЗ ЦИКЛА и пошли дальше по коду..."; ?>

Es importante entender: en los tres tipos de ciclos no hay partes obligatorias.

Un ejemplo de un bucle for sin la parte A y la parte C:

For(;$i > 8;)( // tu código )

Un ejemplo de un bucle for sin las tres partes:

For(;;)( // bucle sin fin clásico)

Es decir, todos los puntos y comas aún permanecen en el bucle for. ¡Esta es la sintaxis!

Bucles infinitos

Un bucle infinito es un error del desarrollador en el que la página nunca podrá cargarse hasta el final, ya que la condición del bucle (parte B) siempre será verdadera. Por ejemplo:

"; $i++; ) while($i != 0); echo "SALIÓ DEL BUCLE y siguió adelante con el código..."; ?>

Resultado:

Mostré sólo una parte de esto, porque no todo cabe en la pantalla. Así es como su navegador y el servidor de su sitio sufrirán infinitamente hasta que el navegador falle después de 30 segundos. Y todo porque en el ejemplo anterior, la variable $i nunca será igual a cero, inicialmente es igual a 1 y es constante. creciente.

Es decir, el desarrollador no prestó atención cuando se le ocurrió tal condición.

Gestión del ciclo

Descanso del operador. Hay situaciones en las que no necesitamos que el bucle reproduzca todas las iteraciones (repeticiones). Por ejemplo, en algún momento determinado queremos interrumpirlo y continuar la ejecución con el siguiente código:

"; if ($i === 5) break; // salgo del bucle si $i es igual a 5 $i++; ) echo "Solo puedo contar hasta 5:("; ?>

Resultado:

En el ejemplo anterior, tan pronto como llegamos a cinco, PHP salió del ciclo; de lo contrario, habría contado hasta 7.

Continuar operador también interrumpe la ejecución del bucle, pero a diferencia de break, continuar no sale del bucle, sino que devuelve el intérprete PHP a la condición (a la parte B). Ejemplo:

"; ) echo "¿Me perdí algo?"; ?>

Resultado:

Simplemente nos perdimos el número 5 porque PHP no logró hacer eco.

Un bucle se puede anidar dentro de un bucle. En este caso, las declaraciones continuar y romper se aplican sólo a un bucle, aquel en el que se encuentran. Es decir, en otras palabras, se transfieren a un nivel y no a todos. Ejemplo:

Pero nosotros mismos podemos elegir cuántos niveles necesitamos saltar:

"; $i++; $i=1; $k=1; mientras ($k< 8) { echo "Итерация $k номер ". $k . "
"; si ($k === 5) rompe 2; $k++; ) )?>

Resultado:

Naturalmente, no podemos establecer un número mayor que el número de bucles anidados que tenemos.

bucle foreach

El último en orden, pero el más importante en importancia, es el bucle foreach. Usado solo para enumeración y objetos (es demasiado pronto para enseñarlos). Sintaxis de ejemplo:

"; } ?>

Resultado:

Esta era una construcción foreach breve, pero también tiene una versión extendida que, además de los valores de las celdas de la matriz, también muestra los nombres de las celdas (claves):

$valor) ( ​​echo "En la sección " . $clave . " hay un articulo llamado: ".$valor."
"; } ?>

Resultado:

Llamo su atención sobre el hecho de que podemos llamar a las variables como queramos, incluso $key y $value, incluso $xxx y $yyy.

Si es una matriz, entonces usamos solo el bucle foreach y ningún otro. Es este ciclo el que se utiliza en todo VirtueMart y, de hecho, en todas partes.

Si dentro de una cadena entre comillas simples, aparece una barra invertida "\" antes de cualquier otro carácter (que no sea "\" o """), entonces se trata como un carácter normal y se genera como todos los demás. Por lo tanto, una barra invertida Se requiere escape solo si está al final de la línea, antes de la cotización de cierre.

Hay varias combinaciones de caracteres en PHP que comienzan con el carácter de barra invertida. Se llaman secuencias de escape y tienen significados especiales de los que hablaremos un poco más adelante. Entonces, a diferencia de las otras dos sintaxis, las variables y secuencias de control para caracteres especiales, que aparecen en cadenas entre comillas simples no se procesan.

eco "También puedes insertar en líneas
carácter de nueva línea por lo tanto,
porque es normal"
;
// Salida: Para generar " necesitas
// pones \ delante de él
eco "Para mostrar \" es necesario antes ".
"ponla \\";
// Salidas: ¿Quieres eliminar C:\*.*?
eco "¿Quieres eliminar C:\\*.*?";
// Salida: Esto no insertará: \n
// nueva línea
eco "Esto no insertará:\nnueva línea";
// Salidas: $expandir variables también
// $cualquiera no se sustituye
eco "Las variables $expand también son $cualquiera".
"no sustituido";
?>

16.1. Ejemplo. Usando secuencias de escape

17. Comillas dobles

Si la cadena está entre comillas dobles """, PHP reconoce más secuencias de escape para caracteres especiales.

Algunos de ellos se muestran en la tabla.
Mesa. Secuencias de control.

Repetimos, si quieres escapar de cualquier otro carácter, ¡la barra invertida también se imprimirá!

La propiedad más importante de las cuerdas en doble comillas es el procesamiento de variables.

Heredoc

Otra forma de definir cadenas es utilizar la sintaxis heredoc. En este caso, la línea debe comenzar con el carácter.<<<, после которого идет идентификатор. Заканчивается строка этим же идентификатором. Закрывающий идентификатор должен начинаться в первом столбце строки. Кроме того, идентификатор должен соответствовать тем же правилам именования, что и все остальные метки в PHP: содержать только буквенно-цифровые символы и знак подчеркивания и начинаться не с цифры или знака подчеркивания.

El texto Heredoc se comporta de la misma manera que una cadena entre comillas dobles, sin tenerlas. Esto significa que no necesita escapar de las comillas en heredoc, pero aún puede usar las secuencias de escape enumeradas anteriormente.

También se procesan las variables dentro de heredoc.

$cadena =<<Ejemplo de una cadena que abarca varios
líneas usando
sintaxis heredoc
EOD;
// Aquí el identificador es EOD. Abajo
// identificador EOT
$nombre = "Vasya" ;
eco<<Mi nombre es "$nombre".
EOT;
// esto imprimirá "Mi nombre es "Vasya"."
?>

Ejemplo. Usando la sintaxis heredoc
Nota: La compatibilidad con Heredoc se agregó en PHP 4.

18. Escriba matriz

Una matriz en PHP es un mapa ordenado, un tipo que convierte valores en claves. Este tipo está optimizado de varias maneras, por lo que puede usarlo como una matriz real, una lista (vector), una tabla hash (que es una implementación de mapa), una pila, una cola, etc. Porque puedes tener un valor diferente como valor. matriz PHP, Poder
También es fácil emular árboles.

Puede definir una matriz utilizando la construcción array() o asignando valores directamente a sus elementos. Definición usando
matriz() matriz ( => valor,
=> valor1, ...)

La construcción del lenguaje array() toma pares clave => valor como parámetros, separados por comas. El símbolo => hace coincidir un valor con su clave. La clave puede ser un número entero o una cadena, y el valor puede ser cualquier tipo disponible en PHP. La clave numérica de una matriz a menudo se denomina índice. La indexación de matrices en PHP comienza desde cero.

El valor de un elemento de la matriz se puede obtener especificando la clave del elemento que se busca después del nombre de la matriz entre corchetes. Si la clave de la matriz es notación estándar entero, entonces se trata como un número; de lo contrario, como una cadena.

Por lo tanto, escribir $a["1"] es equivalente a escribir $a, así como $a["-1"] es equivalente a $a[-1].

$libros = matriz("php" =>
"Guía para usuarios de PHP",
12 => verdadero);
echo $libros [ "php" ];
//mostrará la "guía del usuario de PHP"
echo $libros [ 12 ]; // generará 1
?>

18.1. Ejemplo. Matrices en PHP

Si no se especifica una clave para un elemento, entonces se toma como clave la clave numérica máxima aumentada en uno. Si especifica una clave a la que ya se le ha asignado un valor, se sobrescribirá. Desde PHP 4.3.0, si clave máxima es un número negativo, entonces la siguiente clave de matriz será cero (0).

// los arrays $arr y $arr1 son equivalentes
$arr = matriz(5 => 43, 32, 56, "b" => 12);
$arr1 = matriz(5 => 43, 6 => 32,
7 => 56, "b" => 12);
?>

18.2. Ejemplo. Matrices en PHP

Si usa VERDADERO o FALSO como clave, entonces su valor se convierte a uno y cero de tipo entero, respectivamente. Si usamos NULL, en lugar de la clave obtendremos una cadena vacía. También puede utilizar la cadena vacía como clave, pero debe estar entre comillas. Entonces no es lo mismo que usar corchetes vacíos. Las matrices y los objetos no se pueden utilizar como claves.

Definición utilizando la sintaxis de corchetes

Puede crear una matriz simplemente escribiendo valores en ella. Como ya dijimos, el valor de un elemento de la matriz se puede obtener usando corchetes, dentro de los cuales es necesario indicar su clave, por ejemplo, $book["php"]. Si especifica nueva llave y un nuevo valor, por ejemplo, $book["new_key"]="new_value", luego se agregará a la matriz nuevo elemento. Si no especificamos la clave, sino que solo asignamos el valor $book="new_value", entonces el nuevo elemento de la matriz tendrá una clave numérica mayor que la máxima existente. Si la matriz a la que estamos agregando valores aún no existe, se creará.

$libros ["clave"]= valor; // agregado a la matriz
// valor de $ libros
// valor con clave
$libros = valor1 ; /* agregado a la matriz
valor valor1 s
clave 13, porque
clave máxima y
éramos 12 */
?>

Para cambiar un elemento de matriz específico, simplemente necesita asignarle un nuevo valor y su clave. No puede cambiar la clave de un elemento, solo puede eliminar el elemento (par clave/valor) y agregar uno nuevo. Para eliminar un elemento de la matriz, debe utilizar la función unset().

$libros = matriz("php" =>
"Guía para usuarios de PHP",
12 => verdadero);
$libros =
"Libro sobre Perl"; // elemento agregado
// con clave (índice)
// 13 es equivalente
// $libros =
// "Libro sobre Perl";
$libros["ceceo"] =
123456 ; /* Esto agrega uno nuevo a la matriz

Las declaraciones de bucle se utilizan con mucha frecuencia en cualquier lenguaje de programación. Casi todos los problemas utilizan bucles, por lo que vale la pena prestar especial atención a su aprendizaje. Hay 4 tipos de bucles en PHP:

  • while (verificación de condición del prefijo);
  • hacer...mientras (verificación de condición postperfix);
  • para ;
  • para cada ;

Los primeros tres bucles son similares a los bucles estándar de los lenguajes de programación (C++, Pascal), y el último (foreach) es similar a Perl. Veamos los primeros tres operadores de bucle por separado y el último se tratará en una lección aparte. Tenga en cuenta que cada uno de los bucles permite bucles anidados, es decir, un bucle dentro de otro bucle.

Declaración de bucle while en PHP

Un operador de bucle bastante simple cuya sintaxis es muy similar a la de otros lenguajes de programación.

Mientras que la sintaxis en PHP:

//puede haber una condición lógica compleja( operadores; ) ?>

La condición contiene una expresión que debe ser verdadera (verdadero) o falso (falso). Si la condición es verdadera, se ejecutan las declaraciones entre llaves. Después de lo cual se vuelve a comprobar que la condición es verdadera. Si la condición es falsa, entonces el programa no entra en el bucle. En el caso de una sola declaración, se pueden omitir las llaves.

Nota: la condición puede consistir en muchas expresiones usando el álgebra lógica &&, ||, ! etc.

Vale la pena prestar atención al hecho de que si hay operadores en la condición, entonces deben cambiarse de alguna manera; de lo contrario, el bucle simplemente se ejecutará en ciclos.

A continuación se muestra un ejemplo sencillo del uso de while:

"; $i++; ) ?>

El ejemplo anterior producirá el siguiente resultado:

yo = 0
yo=1
yo=2
yo=3
yo=4

Tenga en cuenta que $i=5 no se imprimirá porque i aumenta al final del ciclo y, por lo tanto, tan pronto como llegue a 5, la condición para ingresar al ciclo simplemente no se cumplirá.

declaración de ruptura en PHP

Hay una declaración de interrupción especial para finalizar el ciclo inmediatamente. Este operador se utiliza a menudo para salir de un bucle infinito cuando la condición siempre es verdadera. Por ejemplo, el ejemplo descrito anteriormente podría escribirse de la siguiente manera:

//la condición siempre es verdadera(echo "i =".$i."
"; $i++; si($i>=5) romper; ) ?>

El resultado será el mismo que en el ejemplo anterior.

La declaración de continuación en PHP

El operador continúa; finaliza la iteración actual del ciclo moviéndose al principio, pero no detiene el ciclo por completo. Por ejemplo:

//la condición siempre es verdadera(echo "i =".$i."
"; $i++; si($i>=5) romper; si no, continuar; )?>

El resultado de este ejemplo será el mismo que el de los ejemplos anteriores.

Como muestra la práctica, los operadores continúan; y romper; a menudo ayudan a implementar ciclos complejos.

Déjame darte otro ejemplo del uso del bucle while:

"; } //los resultados de estos dos while serán diferentes //debido al post-prefijo y la forma del prefijo$yo=0; while (++$i //forma de prefijo ( echo "i =".$i."
"; } ?>

Hacer... declaración de bucle while en PHP

La declaración do... while es muy similar a una declaración while normal. La única diferencia es el tiempo que lleva comprobar el estado. El bucle do... while se ejecutará al menos una vez, ya que la comprobación se produce al final. La sintaxis do... while es:

Veamos un ejemplo:

"; $i++; ) mientras($i

Su resultado es similar a los primeros ejemplos considerados.

Cabe señalar que los operadores continúan; y romper; También se puede utilizar en dichos ciclos.

Operador de bucle for en PHP

La sintaxis de la declaración for es la siguiente:

Al principio, se produce la inicialización inicial de las variables. Usloviya debe contener una o más condiciones de terminación del bucle. El shag contiene declaraciones que se ejecutan al final de cada iteración. Por ejemplo:

"; } ?>

El resultado de este bucle será el mismo que el de los ejemplos anteriores.

La gran ventaja de usar for es que es posible que falte el cuerpo del bucle y todas las operaciones necesarias se realizan en la sección de pelusa. Para mayor claridad, aquí hay un ejemplo:

", $i++); ?>

Comentario: La función de eco no está permitida en shag.

El paso del ciclo y las condiciones pueden ser muy diversos. Por ejemplo, no puede escribir i++, sino i+=5 (incrementar en 5).

Cada sección del bucle for se puede omitir, en cuyo caso el resultado es un bucle infinito:

for permite el uso de continuar; y romper; .

Finalmente, aquí hay un ejemplo de dos construcciones de bucle equivalentes, pero una será for y la otra while.

Equivalente a lo siguiente:

El bucle PHP foreach se puede utilizar así:

foreach($array_name as $value)( //código que debe ejecutarse)

foreach($array_name as $key =>$value)( // //código que debe ejecutarse)

Ejemplo de uso de un bucle foreach con una matriz numérica

En este ejemplo, crearemos una matriz de cinco elementos con valores numéricos. El bucle PHP foreach se utilizará para iterar a través de esta matriz. Dentro del bucle foreach usamos echo para imprimir los valores de la matriz:

Ver demostración y código

Ejemplo con claves y valores de matriz

Este ejemplo describe otra forma de utilizar el bucle PHP foreach. Para hacer esto, creamos una matriz asociativa de tres elementos. Incluye los nombres de los empleados ( como llaves) y el monto de los salarios ( como valores):

Ver demostración y código

Un ejemplo de cómo cambiar el valor de un elemento de matriz en un bucle foreach

También puede utilizar PHP array foreach para cambiar los valores de los elementos de la matriz. Esto se hace usando "&" antes de "$" para la variable de valor. Por ejemplo:

&$valor_del_elemento

El valor será cambiado. Para hacerlo más claro, considere el siguiente ejemplo.

En este ejemplo, creamos una matriz numérica de cinco elementos. Después de eso, usamos un bucle foreach para mostrar los valores de los elementos.

Luego creamos otro bucle foreach, donde se agrega "&" antes de $value_of_element. Dentro de las llaves asignamos nuevos valores a los elementos del array.

Para ver la diferencia antes y después de asignar nuevos valores, la matriz se muestra usando la función print_r().

Ver demostración y código

¿Para qué se utiliza el bucle PHP foreach?

El bucle PHP foreach se utiliza para trabajar con una matriz. Itera sobre cada uno de sus elementos.

También puedes usar un bucle for para trabajar con matrices. Por ejemplo, usar la propiedad de longitud para obtener la longitud de una matriz y luego aplicarla como operador máximo. Pero foreach lo hace más fácil ya que está diseñado para funcionar con matrices.

Si trabaja con MySQL, este ciclo es aún más adecuado para esto. Por ejemplo, puede seleccionar varias filas de una tabla de base de datos y pasarlas a una matriz. Después de eso, usando un bucle foreach, recorra todos los elementos de la matriz y realice alguna acción.

Tenga en cuenta que puede utilizar un bucle foreach con una matriz o simplemente un objeto.

Usando un bucle foreach

Hay dos formas de utilizar el bucle PHP foreach en PHP. Ambos se describen a continuación.

  • La sintaxis del primer método es:

foreach($array_name como $valor)(echo $valor)

En este caso, debe especificar el nombre de la matriz y luego la variable $value.

Para cada iteración, el valor del elemento actual se asigna a la variable $value. Una vez completada la iteración, a la variable se le asigna el valor del siguiente elemento. Y así sucesivamente hasta que se hayan iterado todos los elementos del array.

  • Sintaxis del segundo método ( PHP foreach como valor clave):

Esto es adecuado para matrices asociativas que utilizan pares clave/valor.

Durante cada iteración, el valor del elemento actual se asignará a la variable $value_of_element. Además, la clave del elemento se asigna a la variable $key_of_element.

Si está trabajando con matrices numéricas, puede utilizar el primer método, que no requiere claves de elementos.

Esta publicación es una traducción del artículo “ PHP foreach loop 2 formas de usarlo", preparado por el amigable equipo del proyecto