PHPerú Tercera Edición

Day 1,782, 11:36 Published in Peru Brazil by X3sar

Hola muchachos bienvenidos a la tercera edición de este periódico dedicado al mundo de la programación en concreto PHP, como siempre deseando que les sea de utilidad y recordado que cualquier consulta o sugerencia hacerla llegar por MP o a cesar-h-c@hotmail.com.

Bien comencemos en esta edición trataremos las estructuras de control.

Estructuras de Control

Todo script PHP está construido en base a una serie de sentencias. Una sentencia puede ser una asignación, una llamada de función, un ciclo, una sentencia condicional o incluso una sentencia que no hace nada (una sentencia vacía). Las sentencias generalmente finalizan con un punto y coma. Adicionalmente, las sentencias pueden agruparse en un conjunto de sentencias, encapsulándolas entre corchetes.

Bueno vamos a hacer una breve descripción de las principales:

if
El constructor if es una de las características más importantes de muchos lenguajes, incluido PHP. Permite la ejecución condicional de fragmentos de código. PHP dispone de una estructura if que es similar a la de C:

if ($a > $b) {
echo "a es mayor que b";
}
?>

El if nos permite hacer una condición en este caso si el valor de a es mayor a b se mostrara el mensaje.
Ahora vamos a usar else con la condicional if

if ($a > $b) {
echo "a es mayor que b";
} else {
echo "a NO es mayor que b";
}
?>

Else quiere decir lo contrario es decir si se cumple que el valor de a es mayor a b se mostrara el mensaje "a es mayor que b" de lo contrario "a NO es mayor que b".

While

El significado de una sentencia while es simple. Le dice a PHP que ejecute las sentencias anidadas, tanto como la expresión while se evalúe como TRUE.

El valor de la expresión es verificado cada vez al inicio del bucle, por lo que incluso si este valor cambia durante la ejecución de las sentencias anidadas, la ejecución no se detendrá hasta el final de la iteración (cada vez que PHP ejecuta las sentencias contenidas en el bucle es una iteración). A veces, si la expresión while se evalúa como FALSE desde el principio, las sentencias anidadas no se ejecutarán ni siquiera una vez.

$i = 1;
while ($i <= 10) {
echo $i++; /* el valor presentado sería
$i antes del incremento
(post-incremento) */
}

En este ejemplo vemos que le asignamos el valor 1 a $i introducimos esa variable al while para evaluarla como deseamos en este caso si i es menos o igual que 10, que la variable i se incremente en 1 hasta llegar al numero 10.

Aquí voy a hacer una pequeña explicación de los operadores de incremento como el que vemos en el ejemplo.

Operadores de incremento/decremento

PHP soporta operadores estilo C de pre- y post-incremento y decremento.
Nota: Los operadores de incremento/decremento no afectan a los valores booleanos. Decrementar valores NULL tampoco tiene efecto, pero incrementarlos entonces resulta en 1.

Operadores de incremento/decremento

Ejemplo Nombre Efecto
++$a Pre-incremento Incrementa $a en uno, y luego retorna $a.
$a++ Post-incremento Retorna $a, y luego incrementa $a en uno.
--$a Pre-decremento Decrementa $a en uno, luego retorna $a.
$a-- Post-decremento Retorna $a, luego decrementa $a en uno.

Aquí hay un script simple de ejemplo:

echo "

Postincremento

";
$a = 5;
echo "Debe ser 5: " . $a++ . "
\n";
echo "Debe ser 6: " . $a . "
\n";

echo "

Preincremento

";
$a = 5;
echo "Debe ser 6: " . ++$a . "
\n";
echo "Debe ser 6: " . $a . "
\n";

echo "

Postdecremento

";
$a = 5;
echo "Debe ser 5: " . $a-- . "
\n";
echo "Debe ser 4: " . $a . "
\n";

echo "

Predecremento

";
$a = 5;
echo "Debe ser 4: " . --$a . "
\n";
echo "Debe ser 4: " . $a . "
\n";
?>

For

Los bucles for son los más complejos en PHP. Se comportan como sus homólogos en C. La sintaxis de un bucle for es:

for (expr1; expr2; expr3)
sentencia

La primera expresión (expr1) es evaluada (ejecutada) una vez incondicionalmente al comienzo del bucle.

En el comienzo de cada iteración, se evalúa expr2. Si se evalúa como TRUE, el bucle continúa y se ejecutan la/sy sentencia/s anidada/s. Si se evalúa como FALSE, finaliza la ejecución del bucle.

Al final de cada iteración, se evalúa (ejecuta) expr3.
Todos estos ejemplos nos muestran los número del 1 al 10.

/* ejemplo 1 */

for ($i = 1; $i <= 10; $i++) {
echo $i;
}

/* ejemplo 2 */

for ($i = 1; ; $i++) {
if ($i > 10) {
break;
}
echo $i;
}

/* ejemplo 3 */

$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo $i;
$i++;
}

/* ejemplo 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

switch

La sentencia switch es similar a una serie de sentencias IF en la misma expresión. En muchas ocasiones, es posible que se quiera comparar la misma variable (o expresión) con muchos valores diferentes, y ejecutar una parte de código distinta dependiendo de a que valor es igual. Para esto es exactamente la expresión switch.

Aquí tenemos un ejemplo con if y su equivalente en switch.
Ejemplo #1 Estructura switch
if ($i == 0) {
echo "i es igual a 0";
} elseif ($i == 1) {
echo "i es igual a 1";
} elseif ($i == 2) {
echo "i es igual a 2";
}

switch ($i) {
case 0:
echo "i es igual a 0";
break;
case 1:
echo "i es igual a 1";
break;
case 2:
echo "i es igual a 2";
break;
}
?>
Ejemplo #2 Estructura switch permite el uso de strings
switch ($i) {
case "manzana":
echo "i es una manzana";
break;
case "barra":
echo "i es una barra";
break;
case "pastel":
echo "i es un pastel";
break;
}
?>

Bueno señores con esto hemos cubierto lo básico en el próximo articulo veremos la construcción de formularios así el como mandar datos de un formulario a otro, que pasen un buen fin de semana largo nos vemos la próxima semana.