Estructuras de Control en PHP
Aquí pienso diferir con respecto a la documentación de php.net, no me parece poner a require
o a include
, require_once
,include_once
. Tampoco sé si poner a declare
y goto
como estructuras de control.
if
Primero veremos la estructura de if, el bloque comienza con la palabra clave if
y está delimitado con {
y }
.
La expresión dará como resultado siempre true
o false
sin importar lo que se pase; valores como ""
, null
o 0
darán false
como resultado, por otra parte, valores distintos a esto darán como resultado true
.
if(expresion){ //codigo va aqui }
Otra manera de expresar un if
Descripción / Sintaxisif(expresion): //codigo va aqui endif;
la expresión es evaluada si es true
el código dentro de if
se ejecutará, si es false no se ejecutará y seguirá en la siguiente línea.
ejemplos de if
:
<?php $a = 5; if($a<7){ echo "$a es menor que 7"; } if(a>7){ echo "$a es mayor que 7"; } ?>
Copia y prueba el siguiente ejemplo para entender las expresiones, las cuales verás a lo largo de este post
Entendiendo las expresiones<?php if(null){ echo "hola tu !!!"; }else{ echo "not true"; } ?>
Copia el código anterior para probar diferentes valores en la expresión, aunque generalmente no es solo un valor lo que compone la expresión, sino que la componen variables siendo comparadas utilizando operadores de comparación tal como vimos en el Ejemplo 1
else
Puede extender el if
con la sentencia else
, en caso de ser falso la expresión de if
se ejecutará lo que este dentro de else
.
if(expresion){ //codigo cuando expresion es true }else{ //codigo cuando expresion es false }
Ejemplo de else:
Ejemplo de else<?php $a = 10; if($a<7){ echo "$a es menor que 7";//si a es < 7 }else{ echo "a es mayor que 7";// si a es > 7 } ?>
else if o elseif
También puede extender if
con la sentencia elseif
o else if
la cual nos deja chequear si se cumple otra expresión, esta nunca va luego de else
, pero sí puede ir antes de esta.
if(expresion){ //codigo cuando expresion es true }elseif(expresion2){ //codigo cuando expresion2 es true }else{ //si ninguna de la expresiones anteriores es true }
ejemplo de elseif
:
<?php $a = 7; if($a<7){ echo "$a es menor que 7"; }elseif($a == 7){ }else{ echo "$a es mayor que 7"; } ?>
while
En la sentencia, while
si la expresión es true
el bloque dentro de while
se repetirá hasta que no sea false. En esto tenemos que tener cuidado porque si la expresión siempre es while
se creará una repetición o loop infinita/o.
while(expresion){ //bloque a ejecutar }
También podemos expresar while
de la siguiente manera.
while(expresion): //bloque a ejecutar endwhile;
ejemplo de while
:
<?php $a = 7; while($a>1){ echo $a; $a=$a-1; }//repetira esto hasta llegar a 2 echo "termino el loop"; ?>
do-while
La sentencia do-while
es similar a while excepto que en la sentencia do while el bloque se ejecuta al menos una vez. Se ejecuta el bloque y luego se chequea la expresión si es true sigue ejecutándose.
do{ //bloque a ejecutar }while(expresion);
ejemplo en que se recorre el bloque una vez:
Ejemplo de do-while<?php $a = 0; do{ echo "recorro el bloque al menos 1 vez"; $a=$a-1; }while(7<$a); ?>
for
for
cuenta con 3 expresiones la primera que es el valor inicial de la iteración, o sea el valor donde empieza el loop, la segunda que es hasta cuando, el loop se continúa realizando mientras esta sea true y la 3era que es como se hace la iteración si va valor a valor va saltando 2 valores o que hace.
for(expresion1;expresion2;expresion3){ }
foreach
Con foreach
es muy fácil recorrer un array o un objeto y solo funciona con estas dos tipos de variables.
foreach(array as item){ //bloque ejecutado mientra el array tenga miembros por recorrer } foreach(array as key => item){ //bloque ejecutado mientra el array tenga miembros por recorrer }
switch
Algunas veces queremos comparar la misma variable con diferentes valores, es ahí donde entra la sentencia switch
.
En el ejemplo siguiente comparamos la variable $i con los valores 0, 1, 2.
switch example:switch ($i) { case 0: echo "i es 0"; break; case 1: echo "i es 1"; break; case 2: echo "i es 2"; break; }
Como puede ver dentro de switch se usa break
esto es para que no se siga ejecutando el código.
En todo bloque podemos usar break para que este no se siga ejecutando.
Una estructura de control puede tener otra dentro de ella, por ejemplo un while
puede tener un if
o un for
puede tener otro for
. Esto es útil, ya que podemos hacer bloques de código más complejos.
- Anterior: Operadores en PHP
- Siguiente: Funciones en PHP