Guia de PHP

Anuncio
Guia de PHP
Código
<?php
$cadena = 'Hola mundo';
echo $cadena;
?>
Análisis
Es un código muy sencillo. Simplemente guarda la cadena de caracteres o string "Hola mundo" en
la variable $cadena y después se imprime por pantalla.
Inicio de un script en PHP
El '<?php' inicial indica que lo que sigue debería ser interpretado por PHP (por el intérprete de
PHP), lo que significa que es parte del programa y no del HTML. Al final del documento, o cuando
pasamos de nuevo a código HTML, se pone un '?>' para indicar a PHP que ignore lo que venga a
continuación. La etiqueta de cierre del código en PHP lleva implícito un ';'.
Variables
Las variables son la base de cualquier lenguaje de programación. Sin ellas, no podríamos guardar
información para utilizarla más adelante. PHP no sería capaz de hacer nada dinámico. Veamos,
que las variables son necesarias y PHP las tiene.
Si tienes experiencia con otros lenguajes de programación, sabrás que en algunos de ellos es
necesario declarar el tipo que va a tener una variable, es decir, el tipo de datos que será capaz de
guardar. Son los lenguajes fuertemente tipados y en ellos necesitas saber el tipo de una variable
antes de guardar cualquier cosa en ella. Son de este tipo lenguajes tan conocidos como C++ y
Java. PHP, por otra parte, es un lenguaje debilmente tipado, porque el tipo de la variable
corresponde al tipo del valor que está guardando en este momento. Puedes crear una variable
para guardar una cadena de caracteres (string), asignar a esa variable un string, reemplazarlo
luego por un número, y no habría problemas. Sin embargo, en C++ habría que haber hecho un
cast (conversión explícita de tipos) o guardar ese número en otra variable distinta (del tipo
correcto).
Todas las variables en PHP empiezan por '$' seguido de un identificador. Se diferencia entre
mayúsculas y minúsculas, por lo que $wiki es diferente de $Wiki.
Para saber más de las variables, puedes mirar en el manual de PHP.
El punto y coma y los espacios blancos
Otra parte imprescindible para este lenguaje, no así en otros como JavaScript o ActionScript, es
finalizar cada comando con un punto y coma (";"). Sin él, el intérprete de PHP nos devolverá un
error crítico y ni siquiera iniciará la ejecución del script.
Sin embargo PHP ignora completamente los espacios en blanco y los saltos de línea (salvo en las
definiciones de cadenas). Esto quiere decir que tanto podemos poner todo un script en una línea
como sangrar cada línea tanto como queramos o dejar varias líneas en blanco.
Los ejemplos
Ejemplo 1
En este ejemplo hacemos uso de 5 operadores básicos utilizados en las expresiones matemáticas.
Son la base de todas las operaciones matemáticas y de string que se pueden llevar a cabo en
PHP.
Estos 5 operadores matemáticos funcionan exactamente igual a como lo hacen en C++ o en Java.
Son:
1.
2.
3.
4.
5.
Suma (+)
Resta (-)
Multiplicación (*)
División (/)
Módulo (%) (el resto de la división por defecto)
Para asignar valores a variables utilizaremos =, que a diferencia de el significado matemático de "A
es igual que B", en la mayoría de lenguajes de programación significa "A toma el valor de B". A
este símbolo se le llama operador de asignación.
<?php
$x = 25;
$y = 10;
$z = $x + $y;
echo $z;
echo "\n";
Código $z = $x / $y;
echo $z;
echo "\n";
$z = $y * $y * $x;
echo $z - 1250;
echo "\n"; ?>
35
Salida 2.5
1250
Operadores Aritméticos:
$a +
$a $a *
$a /
$a %
$a++
$b Suma
$b Resta
$b Multiplicación
$b División
$b Resto de la división de $a por $b
Incrementa en 1 a $a
$a-- Resta 1 a $a
Operadores de Cadenas:
El único operador de cadenas que existen es el de concatenación, el punto. Pero no os asustéis,
PHP dispone de toda una batería de funciones que os permitirán trabajar cómodamente con las
cadenas.
$a = "Hola ";
$b = $a . "Mundo"; // Ahora $b contiene "Hola Mundo"
En este punto hay que hacer una distinción, la interpretación que hace PHP de las simples y
dobles comillas. En el segundo caso PHP interpretará el contenido de la cadena.
$a = "Mundo";
echo = 'Hola $a'; //Esto escribirá "Hola $a"
echo = "Hola $a"; //Esto escribirá "Hola Mundo";
Operadores de Comparación:
$a
$a
$a
$a
$a
$a
< $b $a menor que $b
> $b $a mayor que $b
<= $b $a menor o igual que $b
>= $b $a mayor o igual que $b
== $b $a igual que $b
!= $b $a distinto que $b
Operadores Lógicos:
$a AND $b Verdadero si ambos son verdadero
$a && $b Verdadero si ambos son verdadero
$a OR $b Verdadero si alguno de los dos es verdadero
$a || $b Verdadero si alguno de los dos es verdadero
$a XOR $b Verdadero si sólo uno de los dos es verdadero
!$a Verdadero si $a es falso, y recíprocamente
Operadores de Asignación:
$a
$a
$a
$a
$a
$a
= $b Asigna a $a el contenido de $b
+= $b Asigna a $a la suma de $b + $a
-= $b Asigna a $a la resta de $a - $b
*= $b Asigna a $a la multiplicación de $a por $b
/= $b Asigna a $a la división de $a entre $b
.= $b Asigna a $a la concatenación de $a seguida por $b
Cadenas
Las cadenas, también llamadas strings (cadenas en inglés), son un tipo de datos que representan
texto. Se llaman cadenas porque están formadas por caracteres únicos encadenados.
Como vimos en el ejemplo de "Hola, Mundo", podemos asignarlas a una variable e incluso
combinarlas. Sin embargo es importante que conozcamos más sobre ellas y acerca de cómo
funcionan.
Construcción de Cadenas
Una cadena se puede construir de tres maneras:
Comillas simples
Se basa en la delimitación del texto mediante comillas simples ( ' ). Esta es la forma más sencilla
de construir una cadena, pero también la más estricta: Todo lo que aparece en el interior es
integramente la cadena.
<?php$peras = 3;$manzanas = 2;$frase1 = 'Tengo $manzanas manzanas y $peras peras.';$frase2
= 'Tengo '.$manzanas.' manzanas y '.$peras.' peras';echo $frase1 . ' - ' . $frase2;?>
Tengo $manzanas manzanas y $peras peras. - Tengo 2 manzanas y 3 peras.
Todo lo que introduzcamos aparecerá como tal y se almacenará como tal. En el caso de que
necesitemos incluir una comilla simple en el texto, debemos escaparla. Para ello usaremos la barra
invertida ( \ ) antes de la comilla ( ' ). En el caso de que deseemos añadir una barra invertida al final
de una cadena o antes de una comilla simple, deberemos escapar la propia barra invertida ( \ ). En
cualquier otro caso, la barra invertida aparecerá normalmente.
<?phpecho 'Ejemplo de 'cómo escapar varias comillas',de poner una barra invertida delante de una
comilla \'o de terminar la cadena con una barra invertida\';?>
Ejemplo de 'cómo escapar varias comillas', de poner una barra invertida delante de una comilla ' o
de terminar la cadena con una barra invertida\
Como también vemos en este ejemplo, los saltos de línea naturales, es decir saltar la línea en la
definición de la cadena, también se mantiene cuando la imprimimos en pantalla.
Comillas dobles
Cuando necesitamos incluir muchos valores guardados en variables dentro de una cadena, es
tedioso tener que utilizar repetidamente el operador concatenador de cadenas ( . ) para unir
variables con pedazos de cadena, como hemos visto en el primer ejemplo.
Para esto se existe una forma de cadena más flexible, pero con el inconveniente de que hay más
cosas que debemos tener en cuenta a la hora de insertar símbolos especiales. Podemos en este
caso introducir variables dentro de la cadena y éstas serán interpretadas como su valor, no como
su nombre:
<?php$peras = 3;$manzanas = 2;$frase1 = "Tengo $manzanas manzanas y $peras peras.";$frase2
= "Tengo \$manzanas manzanas y \$peras peras";echo $frase1 . " - " . $frase2;?>
Tengo 2 manzanas y 3 peras. - Tengo $manzanas manzanas y $peras peras.
El funcionamiento de la barra invertida es similar a las cadenas de comillas simples, pero se aplica,
no sólo también al dólar ( $ ), sino a una serie de letras que, cuando son escapadas, adquieren
otro significado:
\n
\r
\t
\$
\"
\
\###
\x##
Nueva línea
Retorno de carro
Tabulador
Signo del dólar
Comillas dobles
Barra invertida
Carácter representado por 1, 2 ó 3 cifras ( # ) en código
octal
Carácter representado por 1 ó 2 cifras en código
hexadecimal
Operadores aritméticos
+ Suma dos valores
- Resta dos valores (o pasa a negativo un valor)
* Multiplica dos valores
/ Divide dos valores
% Resto de dividir dos valores
++ Incremento en una unidad
-- Decremento en una unidad
Operadores de asignación
=
Asigna a la parte derecha el valor izquierdo
+= Realiza la suma de la derecha con la izquierda y la asigna a la derecha
-= Realiza la resta de la derecha con la izquierda y la asigna a la derecha
*= Realiza la multiplicación de la derecha con la izquierda y la asigna a la derecha
/= Realiza la división de la derecha con la izquierda y la asigna a la derecha
%= Se obtiene el resto y se asigna
.= Concatena el valor de la izquierda con la derecha y lo asigna a la derecha
Operadores lógicos
!
Operador NO o negacion.Si era true pasa a false y viceversa
and Operador Y, si ambos son verdaderos vale verdadero
or Operador O, vale verdadero si alguno de los dos es verdadero
xor Verdadero si alguno de los dos es true pero nunca ambos
&& True si ambos lo son
|| True si alguno lo es
Operadores condicionales
== Comprueba si dos números son iguales
!= Comprueba si dos números son distintos
> Mayor que, devuelve true en caso afirmativo
< Menor que, devuelve true en caso afirmativo
>= Mayor o igual
<= menor o igual
Sentencias de Control: Condicionales
PHP al igual que la mayoría de lenguajes de programación necesita de herramientas que permitan
tomar decisiones lógicas al servidor.
1. If...Else
2. If...Elseif...Else
3. Switch
Estas son todas las posibilidades condicionales que nos permite este lenguaje de programación.
If...Else
Estas instrucciones son las mas usadas de todos los lenguajes de programación, ya que son las
mas básicas. IF (Español: SI) ELSE (Español: SI NO).
Estructura:
if(expresión)
{
... Sentencias;
}
else
{
... Sentencias;
}
De momento, en ese pedazo de codigo aunque sin nada tangible, estarías diciendo que si la
expresión se cumple se realizan sentencias, y en este caso si no se cumpliese la expresión se
evaluaría las sentencias que están dentro de else{...}.
Un ejemplo para probar en casa:
<?php
$galletas = true;
if($galletas)
{
echo 'Hay galletas';
}
else
{
echo 'No hay galletas';
}
?>
En este ejemplo, estamos dando un valor $galletas y comprobamos si es cierto o no,
introduciendolo en la expresión del condicional. Tal cual está, este ejemplo produciría el resultado
'Hay galletas', aunque si cambiasemos $galletas = true; por $galletas = false daría como resultado
la segunda sentencia.
If...Elseif...Else
La estructura de estas instrucciones viene a ser muy similar que la anterior, y de hecho el ejemplo
anterior es válido igualmente para este.
Estructura:
<?php
if(expresión)
{
... Sentencias;
}
elseif(expresión)
{
... Sentencias;
}
else
{
... Sentencias;
}
?>
Esta es la sintaxis con la que debe ser usada elseif. Un elseif se ejecutará, siempre y cuando, no
haya alguna respuesta verdadera en el if o elseif anterior; luego de que se llega al final de los
elseif, y ninguno ha sido verdadero, se ejecutará lo que está dentro de el else final.
Pueden haber varios elseif, pero estos estan siempre dentro de un if y un else (sólo uno) final.
Otro ejemplo, para dejar en claro el funcionamiento de elseif:
<?php
$test = 33;
if ($test > 40) {
echo "Sí, $test es
}
elseif ($test > 35)
echo "Sí, $test es
}
elseif ($test > 30)
echo "Sí, $test es
}
else {
echo "No, $test es
}
?>
mayor que 40.";
{
mayor que 35.";
{
mayor que 30."
menor que 40, 35 y 30."
En este caso la respuesta sería:
Sí, 33 es mayor que 30.
Si el valor de $test se cambia a 22, la respuesta sería:
No, 22 es menor que 40, 35 y 30.
Switch
Las instrucciones If...Elseif...Else permiten seleccionar entre más de dos posibles condiciones que
puedan ser evaluadas como true o false, pero en ocasiones nos encontrarémos con casos en
que queremos evaluar condiciones con una estructura como esta:
if($variable==Valor1)
{
... Sentencias;
}
elseif($variable==Valor2)
{
... Sentencias;
}
elseif($variable==Valor3)
{
... Sentencias;
}else
{
... Sentencias;
}
En las que esperamos realizar una acción determinada según el valor tomado por una variable.
Para estos casos la mayoría de los lenguajes de programación incluyen una instrucción que
permite "seleccionar" entre los posibles valores de una variable: la instrucción Switch (Español:
SELECCIONAR).
Estructura:
switch($variable)
{
case Valor1:
... Sentencias;
break;
case Valor2:
... Sentencias;
break;
case Valor3:
... Sentencias;
break;
.
.
.
default:
... Sentencias;
}
En esta estructura, $variable es la variable que será comparada sucesivamente con cada una
de las instrucciones case hasta hallar la que corresponda al valor de $variable, una vez que la
encuentre se ejecutarán sucesivamente todas las instrucciones pertenecientes al switch hasta
hallar la siguiente instrucción break; esta última hace un salto pasando el control del programa a la
instrucción inmediata siguiente fuera del switch.
Si ninguna de las instrucciones case corresponde al valor de $variable se ejecutarán solo las
instrucciones siguientes al default. Al igual que else, la instrucción default es opcional.
Veamos un ejemplo:
Usando if...elsefif...else
<?php
$variable=2;
if($variable==1)
{
echo '$Variable es igual a 1.';
}
elseif($variable==2)
{
echo '$Variable es igual a 2.';
}
elseif($variable==3)
{
echo '$Variable es igual a 3.';
}else
{
echo '$Variable no es igual ' .
'a 1, 2 o 3.';
}
?>
Usando switch
<?php
$variable=2;
switch($variable)
{
case 1:
echo '$Variable es igual a 1.';
break;
case 2:
echo '$Variable es igual a 2.';
break;
case 3:
echo '$Variable es igual a 3.';
break;
default:
echo '$Variable no es igual ' .
'a 1, 2 o 3.';
}
?>
El resultado de ambas formas mostradas será:
$Variable es igual a 2.
Si por el contrario cambiamos $Variable=2 por $Variable=5 al inicio de código el resultado
sería:
$Variable no es igual a 1, 2 o 3.
Una diferencia importante respecto a las instrucciones if...elseif...else es que se requiere de la
instrucción break para salir del switch al terminar las instrucciones correspondientes a un case.
Esto es así debido a que solo podemos especificar un valor en cada case. Veamos un ejemplo:
Usando if...elsefif...else
<?php
$variable=2;
if($variable==1)
{
echo '$Variable es igual a 1.';
}
Usando switch
<?php
$variable=2;
switch($variable)
{
case 1:
//Se ejecuta si $variable vale 1
elseif($variable==2
OR $variable==3)
{
echo '$Variable es igual a 2 o
3.';
}else
{
echo '$Variable no es igual ' .
'a 1, 2 o 3.';
}
?>
echo '$Variable es igual a 1.';
break;
case 2:
case 3:
//Se ejecuta si $variable vale 2 o
3
echo '$Variable es igual a ' .
'2 o 3.';
break;
default:
//Se ejecuta en cualquier otro caso
echo '$Variable no es igual ' .
'a 1, 2 o 3.';
}
?>
En cualquiera de las dos formas mostradas, la salida obtenida sería:
$Variable es igual a 2 o 3.
En este caso, al evaluarse la segunda instrucción case no se encuentra ningún break por lo que
siguen ejecutandose las instrucciones siguientes al tercer case, aun cuando $Variable es
diferente de 3. Más aún, si borramos el break del tercer case también se ejecutarán las
instrucciones siguientes a default, y la salida sería entonces:
$Variable es igual a 2 o 3.
$Variable no es igual a 1, 2 o 3.
Sentencias de Control: Bucles
Además de los condicionales, todo lenguaje de programación necesita bucles, PHP no es una
excepción.
Tipos de Bucles
Existen 3 tipos de bucles para PHP, estos son:
1. While
2. Do...While
3. For
While
Sintaxis:
while (condición) sentencia;
Su funcionamiento es sencillo, ya que pimero se evalúa que la condición sea verdadera y luego se
ejecuta, hasta que la condición pase a ser falsa; una sentencia while (Español: Mientras) puede
que no se ejecute ni siquiera una vez, si su condición es inicialmente falsa.
Veamos un ejemplo de su uso:
<?php
$i = 1;
while($i <= 3) $i += 1;
echo 'La variable $i vale: ' . $i ;
?>
Salida:
La variable $i vale: 4
Esta sintaxis de la instrucción while solo permite el uso de una sentencia dentro del bucle, en el
ejemplo anterior la sentencia $i += 1 es la única que se repite.
Un bucle while puede contener varias sentencia, encerrandolas entre llaves ({}) o usando ésta
sintáxis alternativa:
while (condición):
sentencia;
sentencia;
.
.
.
sentencia;
endwhile;
Ejemplo con múltiples sentencias:
Sintaxis 1
Sintaxis 2
<?php
<?php
$i = 1;
$i = 1;
while($i <= 5):
while($i <= 5)
echo "\$i = $i" . "<br/>"; {
$i += 1;
echo "\$i = $i" . "<br/>";
endwhile;
$i += 1;
?>
}
?>
Intentemos ahora un ejemplo más complicado.
<?php
$i = 1; $mult_2_3 = 0; $mult_2 = 0; $mult_3 = 0;
echo "Verifiquemos los múltiplos de 2 y 3 (del 1 al 10):<br/>";
echo "--------------------------------------------------<br/>";
while($i <= 10){
if(($i % 2 == 0) AND ($i % 3 == 0) )
{
echo "$i es múltiplo de 2 y de 3.<br/>";
$mult_2_3 += 1;
}elseif ($i % 2 == 0)
{
echo "$i es múltiplo de 2.<br/>";
$mult_2 += 1;
}elseif ($i % 3 == 0)
{
$mult_3 += 1;
echo "$i es múltiplo de 3.<br/>";
}else
{
echo "$i no es múltiplo de 2 ni de 3.<br/>";
}
$i += 1; //ojo: esta línea es muy importante!!!
}
echo "--------------------------------------------------<br/>" ;
echo "Entre 1 y 10 hay:<br/>";
echo " * '$mult_2_3' múltiplos de 2 y 3.<br/>";
echo " * '$mult_2' múltiplos de 2.<br/>";
echo " * '$mult_3' múltiplos de 3.<br/>";
echo "Los restantes '" . (10 - $mult_2_3 - $mult_2 - $mult_3) .
"' números no son múltiplos ni de 2 ni de 3.<br/>";
?>
Salida:
Verifiquemos los múltiplos de 2 y 3 (del 1 al 10):
-------------------------------------------------1 no es múltiplo de 2 ni de 3.
2 es múltiplo de 2.
3 es múltiplo de 3.
4 es múltiplo de 2.
5 no es múltiplo de 2 ni de 3.
6 es múltiplo de 2 y de 3.
7 no es múltiplo de 2 ni de 3.
8 es múltiplo de 2.
9 es múltiplo de 3.
10 es múltiplo de 2.
-------------------------------------------------Entre 1 y 10 hay:
* '1' múltiplos de 2 y 3.
* '4' múltiplos de 2.
* '2' múltiplos de 3.
Los restantes '3' números no son múltiplos ni de 2 ni de 3.
Analicemos el ejemplo. La variable $i actua como un contador indicandonos cuantas iteraciones
han sido llevadas a cabo, además de ser usado para evaluar la condición de bucle while. Las
variables $mult_2_3, $mult_2 y $mult_3 son tambien contadores, pero estos nos indican,
respectivamente, cuantos múltiplos de 2 y 3 (simultaneamente), solo de 2, y solo de 3 se han
encontrado. Una vez completadas las 10 iteraciones se muestran los valores de estas tres
variables y se calcula la cantidad de números que no son múltiplos ni de 2 ni de 3.
Antes de terminar con el bucle while debemos ocuparnos de dos asuntos importantes: los bucles
infinitos y la interrupción de un bucle.
Los bucles infinitos son aquellos en que la condición a evaluar siempre es verdadera, por lo que las
iteraciones nunca se detienen. Antes de ejecutar un fragmento de código que contenga un bucle
(sea while, do...while o for), es importante asegurarse de que el bucle eventualmente se detendrá.
En nuestro ejemplo con números primos la sentencia $i += 1 asegura que el contador $i
aumente una unidad en cada iteración hasta alcanzar el valor 11, haciendo así falsa la condición
con lo que se termina el bucle.
Aunque un bucle se termina cuando la condición se evalúa a falsa hay ocasiones en que
necesitamos interumpir el bucle abruptamente. La instrucción break (Español: Interrupción)
interrumpe inmediatamente la ejecución del bucle y el control se pasa a la instrucción
inmediatamente posterior al while. Veamos un último par de ejemplos usando break:
Usos de break
Para romper bucles infinitos
Para interrumpir el bucle
<?php
<?php
$n = 1;
$n = 1;
$i = 1;
$i = 50;
while(true){
$mensaje = "No hay múltiplos de 11 entre " .
$i = $i + 1;
"50 y 100. (¿no hay?)";
$n = $n * $i;
while($i < 100){
if ($n > 100) break;
if ($i % 11 == 0)
}
{
echo "i = " . $i;
$mensaje = "El primer múltiplo de 11 " .
echo "<br/>n = " . $n; "entre 50 y 100 es: " . $i;
?>
break;
}
$i += 1;
Salida:
}
echo $mensaje;
i = 5
?>
n = 120
Salida:
El primer múltiplo de 11 entre 50 y 100 es: 55
Do...While
Su uso es similar a while, pero aquí, las sentencias que siguen al do (Español: Hacer) se ejecutan
por lo menos una vez y se comprueba la condición luego de la primera iteración; así, si es
verdadera la condición se repite por segunda vez, si es falsa se continúa con las sentencias
inmediatamente despues de la instrucción while. Tiene sólo una sintaxis.
Sintaxis:
do {
sentencia;
sentencia;
.
.
.
sentencia;
} while (condición);
Todo lo explicado referente al bucle while se aplica también al do...while, sin embargo la principal
diferencia con este es que el do...while siempre ejecuta al menos la primera iteración, mientras
que en el while pudiera no ejecutar ninguna iteración, esto ocurre si la condición es falsa desde
antes del inicio del bucle.
Un ejemplo con do...while:
<?php
$i = 5;
$n = 1;
do {
$n = $n * $i;
$i -= 1;
}while($i > 1);
echo "5! es igual a: " . $n
?>
Salida
5! es igual a: 120
Claro que, si cambiamos la primera instrucción por $i = 0 el bucle se ejecutará al menos una
vez, pues la condición se evalúa al final, y dará la salida (errónea):
0! es igual a : 0
Al programar un bucle es importante reflexionar por un momento si nos conviene usar while o
do...while: ¿necesitamos que se evalúe la condición antes de la primera iteración? ¿o el bucle
debe entrar al menos una vez antes de evaluar la condición?
For
Los bucles for (Español: Para) son los más complejos en PHP (y en otros lenguajes de
programación). Su sintaxis es la siguiente:
Sintaxis:
for (1ªexpr; 2ªexpr; 3ªexpr) sentencia;
La primera expresión se ejecuta una sola vez al inicio, a continuación la segunda expresión se
evalúa como falsa o verdadera, si es falsa el bucle finaliza, en caso contrario el bucle ejecuta la
sentencia y luego ejecuta la tercera expresión; completada así la primera iteración se vuelve a
evaluar la segunda expresión, y si esta es verdadera se ejecuta nuevamente la sentencia, con esto
se completa una segunda iteración. Las iteraciones continúan hasta que la segunda expresión sea
evaluada a falso.
Estas expresiones son la inicialización, donde se dá el valor inicial a la variable de control del
bucle; la condición que inicia cada iteración solo si es evaluada a verdadero; y el paso que
incrementa o decrementa la variable de control al final de cada iteración para garantizar que la
condición eventualmene evalúe a falso. veamos ahora como se utiliza:
<?php
for($i = 1; $i <= 5; $i += 1) echo $i . "<br/>";
?>
Salida
1
2
3
4
5
Todas las expresiones de un bucle for pueden dejarse vacías, dejando al bucle iterar infinitamente,
aunque en este caso suele interrumpirse con una sentencia break del mismo modo que se hace
con el bucle while; Al igual que este último, tiene un par de sintáxis alternativas para múltiples
sentencias:
Usado endfor
Usando corchetes
for (1ªexpr; 2ªexpr; 3ªexpr): for (1ªexpr; 2ªexpr; 3ªexpr)
sentencia;
{
sentencia;
sentencia;
.
sentencia;
.
.
.
.
sentencia;
.
endfor;
sentencia;
}
Y continuemos ahora con un ejemplo de bucle for con múltiples sentencias:
<?php
for($i = 2; $i <= 10; $i += 2)
{
echo "......................<br/>";
//contando números pares
echo "i vale: " . $i . "<br/>";
//sus cuadrados
echo "i^2: " . $i*$i . "<br/>";
//y sus inversos
echo "1/i: " . 1/$i . "<br/>";
}
?>
y la salida
......................
i vale: 2
i^2: 4
1/i: 0.5
......................
i vale: 4
i^2: 16
1/i: 0.25
......................
i vale: 6
i^2: 36
1/i: 0.166666666667
......................
i vale: 8
i^2: 64
1/i: 0.125
......................
i vale: 10
i^2: 100
1/i: 0.1
Bueno, ya sabemos como crear dos tipos de bucles, los while (o do...while) y los for. Aunque
puedes hacer codificar programas que hagan lo mismo con cualquiera de los bucles lo más lógico
sería usar bucles while cuando no sabes el número de iteraciones que debes hacer (y la condición
es del tipo ($respuesta == "Si")), y bucles for cuando si lo sabes (y la condición es del tipo ($X <=
10)).
Estructura IF
IF es una estructura de control utilizada para tomar decisiones según se cumpla una condición (o
varias) o no. Su estructura básica es la siguiente:
if(condición/es){
acción a realizar;
}
else{
acción a realizar en caso de que no se cumpla;
}
Veamos un ejemplo básico para entenderlo mejor:
if($edad>=18){
Comprar cerveza;
}
else{
echo "No puedes comprar cerveza porque no tienes 18 años";
}
e incluso podemos realizar condicionales mas completas como el siguiente caso:
if(($edad>=18)&&($dinero>0)){
Puedes comprar cerveza porque tienes 18 y tu dinero es mayor que 0;
}
else{
echo "O no tienes pelas o no tienes los 18" ;
}
Estructura SWITCH
Toma distintas decisiones en función de distintos estados de la variable.Su sintaxis es la siguiente:
switch(expresión){
case valor1:
sentencia a ejecutar cuando la expresión tiene como valor valor1
break
case valor2:
sentencia a ejecutar cuando la expresión tiene como valor valor2
break
case valor3:
sentencia a ejecutar cuando la expresión tiene como valor valor3
break
default:
sentencia que se ejecutar por defecto cuando no se cumpla ninguna de las condiciones
anteriores
Bucle FOR
El bucle for se usa para repetir una misma operación un número determinado de veces. Su sintaxis
es la siguiente:
for(inicialización;condición;actualización){
sentencia a ejecutar mientras se cumpla la condición
}
El bucle for esta compuesto de 3 partes:
- Inicialización: Se ejecuta tan solo al iniciar por primera vez el bucle.En esta parte se suele
colocar la variable que contara el numero de veces que se repite el bucle.
- Condición: Es la condición que se evaluara cada vez que se inicie el bucle.Esta condición es
la que determina la duración del bucle.
- Actualización: Sirve para indicar los cambios que queremos ejecutar en las variables cada
vez que se ejecuta el bucle.
Un ejemplo de su uso seria el siguiente:
for($i=1;i<=10;i++){
echo "El número actual es".$i;
}
De esta forma escribiría todos los números contenidos entre 0 y 10.
Bucles WHILE y DO WHILE
Bucle WHILE
Este bucle se usa cuando queremos repetir la ejecución de unas sentencias un número indefinido
de veces. Su sintaxis es la siguiente:
while(condición){
sentencia a ejecutar
}
Para entender mejor el uso de while nos serviremos del siguiente ejemplo:
while($color != "rojo"){
color= dame un color;
}
Este es un ejemplo de lo que se puede hacer con while. En este caso siempre y cuando el color no
sea rojo nos dirá que introduzcamos un color.
Bucle DO...WHILE
Este bucle se usa cuando no sabemos el número de veces que va a ejecutarse un bucle pero lo
que si tenemos claro es que por lo menos una vez si que se ejecutara la accion.Su sintaxis es la
siguiente:
do{
sentencia del bucle
}while(condicion)
BREAK y CONTINUE
BREAK
Se usa para detener el bucle y dejar de interpretar el código que sigue después de el break
CONTINUE
Sirve para volver al principio del bucle desde cualquier parte del bucle.
Funciones
Funciones Simples.
Las funciones son rutinas creadas por el programador para realizar procesos que se repetirán o se
usarán más de una vez. Existen funciones simples (sin parámetros de por medio), y funciones con
envío de parámetros, los cuáles se pueden procesar según su valor.
Esta sería una llamada a una función simple:
<?php
function Hola(){
$mensaje="Hola amigo";
echo $mensaje;
}
?>
<html>
<head>
<title>Mi Página</title>
</head>
<body>
<?php
Hola();
?>
</body>
</html>
Esto hace una función que imprimirá el texto "Hola amigo".
Funciones con envío de parámetros.
Si necesitas una función a la cuál le puedas pasar parámetros, sería:
<?php
function Hola2($saludo){
echo $saludo;
}
?>
<html>
<head>
<title>Mi Página</title>
</head>
<body>
<?php
Hola2("Este es el segundo saludo");
?>
</body>
</html>
Esto imprimirá: "Este es el segundo saludo". Note las posibilidades dinámicas en operaciones
matemáticas o de texto que se pueden lograr "personalizando" el contenido de los valores a enviar.
Otro Ejemplo:
function Suma($a, $b)
{
$resultado=$a+$b;
echo $resultado;
}
Si hicieramos:
<?php Suma(20,30);?>
El resultado sería 50.
<?php Suma(15,4);?>
El resultado sería 19, y así.
Descargar