You are on page 1of 9

Curso Bsico de Programacin en Lenguaje PHP Pgina 1

Realizado por Aythami Jos Melin Perdomo (AngelusGC) IRONCATAN.REDTOTALONLINE.COM


1.I Notacin. Tipos de datos:
Como es bien sabido, las variables son piezas bsicas en el juego de la programacin. Se trata del almacn que
contiene nuestros datos, y que nosotros etiquetamos con un nombre.
Una regla que debemos respetar es la siguiente: todos los nombres de las variables deben empezar con el carcter $.
Pero esta no es la nica. Al igual que en otros lenguajes, un nombre vlido de variable puede ser cualquier
combinacin de letras y/o nmeros (incluyendo caracteres ASCII del 127 al 255) siempre y cuando el nombre de la
variable comience por una letra o por el carcter subrayado. Por tanto, $_MiVariable y $MiVariable son nombres
vlidos de variables, pero $3MiVariable no lo es.

A pesar de que al declarar una variable no le estamos asignando un tipo, la variable ser del tipo de dato que le
asignemos en cada momento. Esto no significa que no existan los tipos de datos en PHP, s que existen: nmeros
enteros (int, integer), nmeros reales (float, real, double), cadenas (string), arrays (array) y objetos (object).

Adems, podemos realizar una conversin de tipo antes de asignar el resultado a una variable, utilizando para ello
moldes. Los moldes no son ms que el nombre del tipo entre parntesis, antepuesto a la variable cuyo tipo
queremos forzar con el molde. Por ejemplo, si a una variable queremos asignarle un cociente que seguro que tiene
decimales, pero slo buscamos su parte entera, bastara con hacer:
$Variable = (int)(18/4);

Veamos un sencillo ejemplo de uso de variables:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>

<BODY BGCOLOR=white>

<?php

$UnaVariable = "Le asignamos un texto y la mostramos<P>";
echo "Valor de la variable: " . $UnaVariable;

/* Y ahora le asignamos un nmero y lo mostramos tambin */

$UnaVariable = 27;
echo "Valor de la variable: " . $UnaVariable;

?>

</BODY>
</HTML>

En este ejemplo nos anticipamos un poco al punto de los operadores: como podemos comprobar si ejecutamos el
ejemplo, con el punto (.) concatenamos cadenas.


1.II Constantes
Una constante es un trozo de memoria que contendr un valor fijo que asignaremos al principio. En PHP, para
definir una constante tenemos la funcin:
define("CONSTANTE", valor);

Como se ve, el nombre que queramos darle a la constante debe ir entre comillas. Por ejemplo, si queremos definir
una constante famosa como el nmero PI, podremos hacer:
define("PI", 3.1515926);

dentro de nuestro cdigo PHP. Adems, podremos usar tranquilamente el nombre de esa constante para usar su
valor. Por ejemplo, si queremos calcular el valor de 2PI, podremos escribir:
$Variable = 2*PI;

sin necesidad de volver a poner el valor de PI, pues lo tenemos definido en una constante.

Por otra parte, antes de usar una constante que no estemos seguros si existe o no, podramos comprobar mediante
alguna funcin que est definida. Para ello tenemos la funcin defined, a la que le pasamos como argumento el
nombre de la constante, entre comillas, y ella nos dir si est definida o no lo est.

Curso Bsico de Programacin en Lenguaje PHP Pgina 2
Realizado por Aythami Jos Melin Perdomo (AngelusGC) IRONCATAN.REDTOTALONLINE.COM

1.III Funciones para variables
Dado que una variable no necesita estar declarada, al contrario de lo que sucede en los lenguajes de programacin
usuales como C y Pascal, podra darse el caso de que intentemos acceder al contenido de una variable que no haya
sido especificada hasta el momento y que, por tanto, no estar inicializada. Para prevenir posibles errores a
consecuencia de este hecho, tenemos una funcin, llamada isset, que nos informa acerca de si la variable que le
pasamos como argumento est definida o no. Su sintaxis es:
isset(Variable_Cualesquiera);

que devuelve cierto si la variable existe y est definida, y falso si no es as.

Hay una funcin similar a esta que funciona justo al revs, se trata de empty, que nos informa si la variable que le
pasamos como argumento est vaca o no definida, en cuyo caso devolver cierto, y si la variable existe y tiene un
valor, devolver falso. Su sintaxis es:
empty(Variable_Cualesquiera);

Es interesante en ciertas ocasiones verificar si una variable es del tipo que uno espera que sea, para lo que tenemos
la familia de funciones is_XXXXXX(Variable). Esta familia est formada por las funciones is_array, is_double,
is_float, is_int, is_integer, is_object, is_real, is_string; estas funciones devuelven cierto si la variable pasada como
argumento es, en cada una, un array, o un double, o u float, o un int, o un integer, o un object, o un real,
respectivamente. En caso contrario, devuelven falso.

Por otra parte, PHP nos ofrece unas funciones que convierten una cadena a entero o a real, y viceversa; estas son:
doubleval(VariableCualesquiera);
intval(VariableCualesquiera);
strval(VariableCualesquiera);Por ejemplo, si hacemos:

$Var1 = "123.4567ert43";
$Var2 = doubleval($Var1);
$Var3 = intval($Var1);
tendremos en $Var2 almacenado el valor 123.4567, y en $Var3 estar almacenado el valor 123.

Otras funciones de utilidad son estas:
settype(VariableCualesquiera, TipoDato);
gettype(VariableCualesquiera);
unset(VariableCualesquiera);

La primera de ellas nos permite asignar un tipo a una variable. Este tipo ser uno de los comentados, escrito entre
comillas a la hora de llamar a la funcin. Por ejemplo,
settype($a, "integer");
fijara el tipo de la variable $a a un integer. Adems, devuelve cierto si la conversin ha sido realizada con xito, y
falso en caso contrario.

La segunda nos da, en una cadena, el tipo de variable que nosotros le pasamos como argumento.

Por ltimo, con unset podemos eliminar variables que no usemos para evitar gasto innecesario de memoria.

Vamos a resumir todo lo visto hasta ahora con un ejemplo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>

<BODY BGCOLOR=white>

<?php

$Variable1 = 18/4;
$Variable2 = (int)(18/4);

print((float)($Variable1) . ", " . $Variable2 . "<P>");

if(isset($Variable89)) print($Variable89);
else print("No est asignado valor alguno a \$Variable89<P>");

Curso Bsico de Programacin en Lenguaje PHP Pgina 3
Realizado por Aythami Jos Melin Perdomo (AngelusGC) IRONCATAN.REDTOTALONLINE.COM
print("Tipo de la variable \$Variable1: " . gettype($Variable1) . "<BR>");
print("Tipo de la variable \$Variable2: " . gettype($Variable2) . "<P>");

define("PI", 3.1415926);
$Variable3 = 2*PI;
print("Valor de 2PI: " . $Variable3 . "<P>");

if (defined("UnaConstante")) ;
else print("Constante \"UnaConstante\" no definida<P>");

$a = 12.3;
print(strval($a)."<P>");

$Var1 = "123.4567ert43";
$Var2 = doubleval($Var1);
$Var3 = intval($Var1);

print("Contenido de \$Var1: " . $Var1 . "<BR>");
print("Contenido de \$Var2: " . $Var2 . "<BR>");
print("Contenido de \$Var3: " . $Var3 . "<P>");

if(settype($Var1, "integer")) print("Conversin exitosa de tipo");
else print("No se pudo realizar la conversin");

?>

</BODY>
</HTML>



1.IV mbito de las variables
Por mbito de una variable suele entenderse aquella parte del cdigo en la que esta variable es visible. En los
lenguajes clsicos, el mbito de una variable suele ser el de la funcin o procedimiento en el que se define (una
variable local de una funcin no podr ser vista por otra funcin), o bien son variables globales (variables
accesibles por cualquier funcin y/o procedimiento). El contenido de las variables permanecer mientras se
ejecute la funcin (caso de las locales) o bien durante toda la ejecucin del programa, si se trata de variables
globales.
En PHP esto no es as, por el motivo siguiente: cuando se ha ejecutado el script y el resultado es devuelto al
cliente, el programa ya no est en memoria alguna, as que cuando el programa ha sido interpretado, se ha
perdido todo el contenido de las variables que utilizara.

Por este motivo, si queremos usar variables entre varias pginas, debemos pasarlas de unas a otras de forma
explcita, incluso cuando se trata de la propia pgina. Lo que s es cierto es que, mientras se est ejecutando el
programa en el servidor, existe un mbito para las variables que usamos.

Cada una de las variables existe en el contexto en el que fue definida: bien en el programa principal, bien en una
funcin. No obstante, disponemos de unos modificadores que nos permiten alterar este comportamiento:
! global: Nos dice que la variable es global. En este caso, si se utiliza en una funcin, el valor que tenga al
finalizar la ejecucin se conservar en el programa principal.
! static: Nos dice que una variable local conservar su valor en sucesivas llamadas a la funcin en la que
est definida.

Vamos a matizar el uso de variables globales porque es algo que en PHP queda un poco confuso. Si ests leyendo
esto y no sabes nada sobre funciones, te recomiendo que te informes primero de qu es una funcin y cmo se
declaran, porque necesito este concepto.

Declarar una variable fuera de cualquier funcin la convierte en global, mientras que si declaramos una variable
dentro de una funcin, esa variable es local a la funcin. Ahora bien, si queremos, dentro de una funcin, usar
una variable global, tenemos dos posibilidades. La primera es declarar esa variable global como global dentro de
la propia funcin; la segunda, usando el array interno $GLOBALS. Vamos a ver un ejemplo de cada una de las
opciones para terminar de aclararlo.

Qu pasara con este trozo de cdigo?
<?php
$aGlobal = '1234';

function Imprime_aGlobal() {
echo $aGlobal;
}

Imprime_aGlobal();
Curso Bsico de Programacin en Lenguaje PHP Pgina 4
Realizado por Aythami Jos Melin Perdomo (AngelusGC) IRONCATAN.REDTOTALONLINE.COM
?>

Hemos declarado $aGlobal como global, pues est fuera del mbito de cualquier funcin. En otros lenguajes de
programacin, el resultado sera que se imprime el valor '1234', pero en PHP no. Por qu? Porque en PHP, una
funcin nicamente ve a sus variables locales. Como no se ha declarado previamente, dentro de la funcin
Imprime_aGlobal, la variable $aGlobal, sta est sin definir y, por tanto, no tiene valor alguno. Para que la
funcin "vea" a las variables globales, es cuando tenemos dos opciones: o volvemos a declarar dentro de la
funcin la variable global con el modificador global, o usamos el array $GLOBALS.

Con la primera opcin, el cdigo correcto quedara como sigue:
<?php
$aGlobal = '1234';

function Imprime_aGlobal() {
global $aGlobal;
echo $aGlobal;
}

Imprime_aGlobal();
?>

Y con la segunda opcin, tendramos:
<?php
$aGlobal = '1234';

function Imprime_aGlobal() {
echo $GLOBALS["aGlobal"];
}

Imprime_aGlobal();
?>

El array $GLOBALS es mantenido por el propio intrprete de PHP, y aparte de las variables que nosotros
declaremos como globales, tiene muchas otras internas que podeis consultar en el manual en PDF que podeis
descargar de la web oficial de PHP.


1.V Tiempo de vida de las variables

Ya hemos comentado que el valor de las variables se pierde en cuanto la pgina es interpretada y el resultado
devuelto al cliente. Vamos a ponerlo de manifiesto con un ejemplo: el siguiente programa dar valor a una
variable, y la mostrar antes y despus de asignarle este valor. Para probar su efectividad, recargaremos la
pgina, y comprobaremos que antes de asignarle un valor, no est definida, puesto que el valor que tuvo se
perdi cuando el servidor devolvi la pgina.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE> Tiempo de vida </TITLE>
</HEAD>

<BODY BGCOLOR=white>

<?php

print("Se acaba de cargar la pgina.<BR>".
"Tiene asignado valor alguno?<BR>");
if(isset($Variable))
print("S tiene un valor asignado, ".$Variable."<P>");
else
print("<DIV ALIGN=RIGHT>No tiene un valor asignado</DIV><P>");

$Variable = 12;
print("Ahora le asignamos un valor. La variable vale: ".
$Variable."<P>");

?>

</BODY>
</HTML>

Veremos cmo solucionar este problema, pues es posible pasar el valor de las variables entre pginas,
incluyndose a s misma.


1.VI Variables variables

Las variables variables son una caracterstica muy interesante de PHP. La idea es la siguiente: imaginad que
Curso Bsico de Programacin en Lenguaje PHP Pgina 5
Realizado por Aythami Jos Melin Perdomo (AngelusGC) IRONCATAN.REDTOTALONLINE.COM
tenemos una variable cuyo valor sea una cadena que formara un nombre vlido de variable. Podramos usar esta
cadena como nombre para otra variable. Cmo?

Vamos a suponer que tenemos una variable con el siguiente contenido:
$MiVariable = 'UnValor';
Si ahora hacemos esto:
$$MiVariable = 'Qu ser, ser';
Podemos, por ejemplo, escribir la sentencia:
echo $MiVariable . ' - ' . $UnValor;
El resultado ser que se imprimir la cadena:
UnValor - Qu ser, ser

Ahora he de comentar una nota para resolver una posible ambigedad. Para ello, he de tocar el tema de los arrays.
Si no sabes qu es un array, entonces espera a llegar a ese apartado para volver aqu. Si ya has trabajado con arrays,
puedes seguir leyendo.

Imaginemos que tenemos un array llamado UnArray, y que en la posicin 1 del array tenemos: $UnArray[1] =
'OtroNombre'. Entonces, qu es $$UnArray[1]?. Porque puede ser que OtroNombre sea otro array, con lo que el
intrprete no sabra qu hacer. Para resolver la posible ambigedad, entenderemos que ${$UnArray[1]} es una
variable simple, la variable $OtroNombre, mientras que ${$UnArray}[1] es lo mismo que escribir
$OtroNombre[1], es decir, en este caso $OtroNombre resultara ser otro array y estamos accediendo a su primer
elemento.


































2.I Operadores: qu son
Los operadores son smbolos que denotan operaciones que pueden realizarse entre elementos llamados operandos.
Si tenemos un operador, lase # (por no poner uno conocido que confunda), que sabe operar con dos operandos,
entonces $a # $b debe entenderse como el resultado de operar $a con $b segn lo que indique la operacin #. Por
ejemplo, + es un operador que admite dos operandos y tal que el resultado de hacer $a + $b es el resultado de sumar
$a y $b.

El operador ms bsico es el operador binario de asignacin, =. Si escribimos en el cdigo $a = $b, estamos
asignando a $a el contenido de $b en ese momento.
Curso Bsico de Programacin en Lenguaje PHP Pgina 6
Realizado por Aythami Jos Melin Perdomo (AngelusGC) IRONCATAN.REDTOTALONLINE.COM

Veamos un ejemplo:
<HTML>
<HEAD></HEAD>
<BODY>
<?php

$a = 4;
$b = 3;

echo 'Valor de a: ' . $a . '<BR>Valor de b: ' . $b . '<P>';

$a = $b;

echo 'Valor de a: ' . $a . '<BR>Valor de b: ' . $b;

?>
</BODY>
</HTML>
En el ejemplo podemos ver tambin el uso del operador .. Resulta que cuando estamos utilizando cadenas, el
operador . tiene el significado "concatenacin". Por ejemplo, si escribimos
$Cadena = "Suma" . " de " . "cadenas";
es lo mismo que si hubiramos escrito
$Cadena = "Suma de cadenas";


2.II Operadores: aritmticos
Los operadores aritmticos son binarios (necesitan dos operandos), y realizan sobre sus operandos alguna de las
operaciones aritmticas conocidas. En concreto, tenemos:
+ Suma
- Resta
* Producto
/ Cociente
% Mdulo
En PHP tenemos una versin especial, heredada del lenguaje C, que junta el operador de asignacin con los vistos
aqu:
+= $b += 3 equivale a $b = $b + 3
-= $b -= 3 equivale a $b = $b - 3
*= $b *= 3 equivale a $b = $b * 3
/= $b /= 3 equivale a $b = $b / 3
%= $b %= 3 equivale a $b = $b % 3
Adems, heredados tambin del lenguaje C, tenemos los incrementos y decrementos: ++ y --.
Notar que, si tenemos definidas dos variables, por ejemplo $Variable1 y $Variable2, no es lo mismo hacer esto:
$Variable2 = 20;
$Variable1 = $Variable2++;
que hacer esto:
$Variable2 = 20;
$Variable1 = ++$Variable2;
pues en el primer caso se realiza primero la asignacin y despus el incremento (con lo que tendremos que
$Variable1=20, $Variable2=21); en el segundo caso se realiza primero el incremento y despus la asignacin, as
que ambas valdran lo mismo.

Por ltimo, dentro de los operadores aritmticos tenemos el operador unario -, que aplicado delante de una variable,
le cambia el signo.

A continuacin vemos algunos ejemplos de operaciones y su resultado:
<HTML>
<HEAD></HEAD>
<BODY>

<?php

/* Partimos de dos variables, '$a' y '$b', y vamos a realizar
distintas operaciones con ellas */

$a = 10;
$b = 6;

echo 'a = ' . $a . ', b = ' . $b . '<P>';
echo 'a + b = ' . ($a + $b) . '<BR>';
echo 'a - b = ' . ($a - $b) . '<BR>';
echo 'a * b = ' . ($a * $b) . '<BR>';
echo 'a / b = ' . ($a / $b) . '<BR>';
Curso Bsico de Programacin en Lenguaje PHP Pgina 7
Realizado por Aythami Jos Melin Perdomo (AngelusGC) IRONCATAN.REDTOTALONLINE.COM
echo 'a % b = ' . ($a % $b) . '<BR>';
echo 'a++ : ' . ($a++) . '<P>';

/* Notar que aqu ya se ha incrementado '$a' */

echo '-a = ' . (-$a) . '<P>';

echo 'a += b : a = ' . ($a += $b) . '<BR>';
echo 'a %= b : a = ' . ($a %= $b) . '<BR>';

?>

</BODY>
</HTML>


2.III Operadores: comparacin
Los operadores de comparacin son binarios y su resultado es un booleano (un valor de verdad). Nos permiten
expresar si una relacin de igualdad/desigualdad es cierta o falsa dados los operandos. Tenemos los siguientes:
== igual
!= distinto
> mayor que
< menor que
>= mayor o igual que
<= menor o igual que
=== igual en valor y tipo (PHP 4)
Veamos un sencillo ejemplo para aclarar conceptos:
<HTML>
<HEAD></HEAD>
<BODY>

<?php

/* Partimos de dos variables, '$a' y '$b', y vamos a realizar
distintas operaciones con ellas */

$a = 10;
$b = 6;

echo 'a = ' . $a . ', b = ' . $b . '<P>';

echo 'a == b : ' . ($a == $b) . '<BR>';
echo 'a != b : ' . ($a != $b) . '<BR>';
echo 'a &lt; b : ' . ($a < $b) . '<BR>';
echo 'a > b : ' . ($a > $b) . '<BR>';
echo 'a &lt;= b : ' . ($a <= $b) . '<BR>';
echo 'a >= b : ' . ($a >= $b) . '<P>';

$a = '6';
echo 'Ahora a = ' . $a . ' (tipo: ' . gettype ($a) . ')<BR>';
echo ' a === b : ' . ($a === $b) . '<P>';

$a = 6;
echo 'Ahora a = ' . $a . ' (tipo: ' . gettype ($a) . ')<BR>';
echo ' a === b : ' . ($a === $b);

?>

</BODY>
</HTML>


2.IV Operadores: lgicos
Los operadores lgicos sirven para componer condiciones ms simples por medio de las reglas de la y, o y no
lgicas. Nos permiten expresar condiciones compuestas de las que queremos averiguar su valor de verdad.
&& (and) AND ('y' lgica)
|| (or) OR ('o' lgica)
! NOT ('no' lgica)
xor XOR ('o exclusiva' lgica)
Por ejemplo, si tenemos tres nmeros, podemos querer saber si el primero es a la vez mayor que el segundo y el
tercero, o si es mayor que alguno de ellos, o si no es mayor que ninguno. Con el adecuado uso de parntesis,
podemos agrupar como nos convenga las condiciones.

Veamos un ejemplo:
<HTML>
<HEAD></HEAD>
<BODY>

<?php
Curso Bsico de Programacin en Lenguaje PHP Pgina 8
Realizado por Aythami Jos Melin Perdomo (AngelusGC) IRONCATAN.REDTOTALONLINE.COM

/* Partimos de tres variables, 'a', 'b' y 'c', y vamos a realizar
distintas operaciones con ellas */

$a = 10;
$b = 6;
$c = 11;

echo 'a = ' . $a . ', b = ' . $b . ', c = ' . $c . '<P>';

echo '(a > b) && (a > c) : ' . (($a > $b) && ($a > $c)) . '<BR>';
echo '(a > b) && (a < c) : ' . (($a > $b) && ($a < $c)) . '<BR>';
echo '!(a < b) : ' . !($a < $b) . '<BR>';
echo '(a > b) || (a > c) : ' . (($a > $b) || ($a > $c)) . '<BR>';

?>

</BODY>
</HTML>
La primera comparacin nos dice si '$a' es mayor que '$b' y a la vez mayor que '$c'. La segunda, si '$a' es mayor
que '$b' y a la vez menor que '$c'. La tercera nos dice si no se cumple que '$a' sea menor que '$b'. La cuarta nos dice
si '$a' es mayor que '$b' o bien '$a' es mayor que '$c'.



























3.I Estructuras de control: Condicionales
Dentro de las sentencias de control de flujo nos encontramos con las condicionales. Este tipo de sentencias sirven
para hacer UNA u OTRA cosa en funcin de una cierta condicin.

En la vida real, un condicional sera algo del tipo "si llueve coger el paraguas y si no llueve me pondr camisa"; en
PHP, los condicionales son como los de C:
<?php
if (condicion) { Codigo_Si_Se_Cumple }
else { Codigo_Si_No_Se_Cumple }
?>
Si 'condicion' es evaluado como 'true' (verdadero), entonces se ejecuta el cdigo que hay a continuacin del 'if', y si
es evaluado como 'false' (falso), se ejecuta el cdigo que hay a continuacin del 'else'. No es necesario poner
siempre el 'else', puede ser que slo queramos ejecutar unas acciones si sucede ALGO, pero nos de igual si ALGO
no sucede. Adems, los 'if' pueden estar anidados segn la complejidad del programa. Veamos un ejemplo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE> Ejemplos con condicionales </TITLE>
</HEAD>

<BODY BGCOLOR=white>

<?php

$a = 3;
Curso Bsico de Programacin en Lenguaje PHP Pgina 9
Realizado por Aythami Jos Melin Perdomo (AngelusGC) IRONCATAN.REDTOTALONLINE.COM

switch($a) {
case 1: print("Es la opcin 1<BR>");
break;
case 2: print("Es la opcin 2<BR>");
break;
case 3: print("Es la opcin 3<BR>");
$a--;
break;
default: print("No hay opciones<BR>");
break;
}

print("Valor de \$a: $a");

?>

</BODY>
</HTML>
Qu caso se ejecutar, y qu valor tendr al final la variable $a?


3.II Estructuras condicionales: Bucles
Los bucles nos van a servir para repetir un cierto nmero de veces las acciones que queramos ejecutar varias veces.
En PHP tenemos los siguientes bucles:
for(Inicializacion; Condicion; Actualizacion)
{
Codigo_a_Repetir
}
Se trata del for del lenguaje C, por tanto:
! Inicializacion es la inicializacin necesaria para comenzar el bucle, y se ejecuta al empezar.
! Condicion es la condicin que se evalua antes de cada iteracin; la iteracin se realizar si la condicin ha
sido evaluada a cierto.
! Actualizacion es la posible actualizacin de las variables tras cada iteracin. Es ejecutada una vez finaliza
cada iteracin.
Por ejemplo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE> Ejemplo con bucle for </TITLE>
</HEAD>

<BODY BGCOLOR=white>

<?php

print("Cuenta atrs...<P>");
$a = 10;

for(; $a >= 0; $a--)
print("\$a = $a<BR>");

?>

</BODY>
</HTML>
Notar que he puesto la inicializacin fuera del for. De hecho, ni la inicializacin ni la condicin ni la actualizacin
son obligatorias, podramos perfectamente escribir for(;;), pero eso s, hay que saber que, al no haber condicin, el
bucle se ejecutar siempre, por lo que escribir algo tan simple como for(;;); realizar un bucle infinito.

PHP tambin dispone de las estructuras while y do-while, cuya estructura es como la del lenguaje C y que
exponemos brevemente:
while(Condicion)
{ Codigo_a_Repetir }

do
{ Codigo_a_Repetir }
while(Condicion);
Podemos romper cualquiera de los bucles si, en un momento dado, quiz bajo una condicin dada por if,
escribimos la sentencia break.