Вы находитесь на странице: 1из 60

Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones

DWES

TEMA 2
Sintaxis

Tipos de datos, Variables y Operadores

Arrays

Estructuras de Control

Funciones

Sintaxis alternativa
Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

INTRODUCCIÓN
¿Qué es PHP? Es un lenguaje de Scripts del lado del
Servidor.

Características de PHP

Multiplataforma, tanto de S.O. como de Servidor Web.

Es de código abierto y tiene detrás una gran comunidad.

Es potente y profesional

Disponible en la mayoría de los sistemas de Internet


(hosting).
Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Introducción
Historia de PHP

En primer lugar apareció HTML

Luego la programación del lado del Cliente con


JavaScript.

A continuación la programación del lado del Servidor


mediante CGI y/o Perl.

Después aparecieron los Applets de Java, más eficientes.

Y por último ASP y PHP, en el lado del servidor.


Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

¿Cómo funciona PHP?


Un lenguaje del lado del
servidor es aquel que se
ejecuta en el…
El servidor es la máquina
donde están guardadas
nuestras páginas. El cliente
pide y el servidor sirve.
El navegador del cliente solo
entiende HTML pero no PHP.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

¿Cómo trabaja PHP?


Cuando un usuario desde su navegador accede a una
página con extension .php, la solicitud es enviada
a un servidor web, que la redirige al intérprete
PHP.

Como muestra el diagrama, el intérprete PHP


procesa la página y se comunica (por medio de
Apache) con otros elementos, generando una página
HTML que envía al servidor web para que éste la
mande
Carlos M. al navegador.
Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

¿Cómo trabaja PHP?


Por ese motivo, PHP es Cross-Browser: El Navegador
o el S.O. son indiferentes
Pero PHP no sólo produce HTML como salida. Está
capacitado para producir otros tipos de archivos,
usando librerías.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Front-end y Back-end

•Front-end. Se realiza en el cliente.


•Back-end. Se realiza en el servidor.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Back-end
¿Con qué recursos contamos en un lenguaje del lado
del servidor?
• Bases de Datos
• Sistemas de Correo electrónico, tanto para envío
como recepción.
• Sistema de Ficheros.
• Otros servidores, que pueden estar en la misma
red o no.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Ciclo de Vida
Resumen: El ciclo de vida de una página web en PHP es

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

SINTAXIS DE PHP
Conceptos generales sobre la sintaxis de PHP

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Apertura y cierre de PHP

<?php
echo “Hola mundo, estoy en PHP”;
?>

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Correcto en algún caso

<?php
echo “Hola mundo, estoy en PHP”;

¿Aquí no falta la etiqueta


de cierre de PHP?
Cuando y porqué no se pone

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Short open tags

<?
echo “Hola Mundo, estoy en PHP”;
?>

No están activadas de manera predeterminada

No son recomendables (Conflicto con XML readers)

Directiva short_open_tag en el php.ini

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Resumen del “echo”


<?php echo “Estoy en PHP”; ?>

Es equivalente a:
<?= “Estoy en PHP” ?>

A partir de php 5.4 este resumen del echo está


siempre disponible,independientemente de la
directiva “short_open_tag”.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Ignorado por PHP

<b>Esto está fuera de PHP</b>


<?php
echo “Estoy en PHP”;
?>
<i>Por tanto será ignorado</i>

Es por ello que podemos escribir HTML mezclado con PHP


en un mismo archivo.

Simplemente, lo que es ignorado por PHP le llegará tal


cual al navegador.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

HTML entre condicionales


<?php if($variable){ ?>
<p>Sólo se mostrará en caso positivo</p>
<?php }else{ ?>
<p>Sólo se mostrará en caso negativo</p>
<?php } ?>

Mandan las estructuras de control

Se puede hacer lo mismo con las estructuras repetitivas.

Para escribir bloques de texto grandes es mejor hacerlo con


HTML, fuera de PHP, sin “echo” o “print”. Por rendimiento.
Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Separación de Instrucciones con ;


<?php
echo “Estoy en PHP”;
echo “Estoy aprendiendo mucho”;
?>

<?php
echo “Última línea antes de cerrar PHP”
?>

¿No falta el ; antes del tercer “echo”?

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Comentarios en PHP
<?php
//Esto es un comentario de 1 línea
/*
Este es un comentario
de varias líneas.
Como en C, Java y otros.
*/
?>
<?php //Esto es un comentario ?> Y esto no!

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

TIPOS DE DATOS PHP


Variables y Tipos de Datos en PHP

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Introducción
¿Qué es una variable?
Lugar en la memoria donde podemos guardar un
dato.
Podemos entender una variable como una caja o
contenedor.

¿Qué es un tipo de dato?


Clase, características, forma de la información
de un dato, que se guarda en una variable.
Sirve para que el lenguaje sepa como tratar un
dato, o qué gama de operaciones podremos
realizar con él.

Podemos clasificar PHP como un lenguaje No Tipado


o Débilmente Tipado o con Tipado Dinámico, frente
a otros lenguajes como C o Java que son Tipados o
Fuertemente
Carlos M. Abrisqueta Valcárcel
Tipados

o con

Tipado

Estático.
IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Resumen de Tipos en PHP


Escalares Compuestos Especiales
•Boolean •Array •Resource
•Integer •Object •Null
•Float
•String
• En PHP no se declara en tipo de las variables.
• El tipo lo decide PHP en tiempo de ejecución
según lo que asignemos.
• PHP puede cambiar los tipos de las variables para
adaptarse al contexto en el que las usamos.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Funciones útiles para Tipos

var_dump()
gettype()
settype()
is_int(), is_numeric(), is_string(),
is_null(),…
Ver más funciones de manejo de variables:
http://www.php.net/manual/es/ref.var.php
Forzado (casting)(no es una función sino una operación)

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Boolean
TRUE (positivo)
FALSE (negativo)
Cualquier variable evaluada como condición
(por ejemplo en un if) se evalúa como TRUE,
excepto:

Boolean FALSE
String “0”
Integer 0
Array con 0 elem.
Float 0.0
Null
String vacío “”

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Integer
1, 2, 3, …
-1, -2, -3, …

También podemos usarlos en base 8 (octal), base 10


(decimal) y base 16 (hexadecimal)

01, -02, …
0x2BFA, -0x2A8E, …

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Float
2.7
-3.56
2.45E6
-2.4E-3

La comparacion de variables de tipo float


puede dar problemas debido a la precisión,
tanto de la mantisa (número a la izquierda
de la E) como del exponente (número a la
derecha). Para más información:
http://www.php.net/manual/es/language.types.float.php

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

String
“Hola” Los Literales deben ir entre
‘1234’ comillas:
“TRUE” • Simples
• Dobles
String con comillas String con comillas
simples dobles

• ‘Hola’ • “Hola”
• ‘Hola O\’Hara’ • “Hola $nombre, que
• ‘Esta cadena se tal?”
encuentra en varias • “Tengo \ndos líneas”
lineas • “Hola {$nombre}, que
tal?”
Caracteres de escape • “Soy {$array[“campo”]},
Carlos M. Abrisqueta Valcárcel y tú?”
IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Caracteres de escape
\n Avance de línea (LF o 0x0A en ASCII)
\r Retorno de carro (CR o 0x0D en ASCII)
\t Tabulador horizontal (HT o 0x09 en ASCII)
\v Tabulador vertical (VT o 0x0B en ASCII)
\e Escape (ESC o 0x1B en ASCII)
\f Avance de página (FF o 0x0C en ASCII)
\\ Barra invertida
\$ Signo de dolar
\” Comillas dobles

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

ARRAY
[2,1,4,6,3]
[“a”,”e”,”i”,”o”,”u”]
[“a”,1,TRUE]

Los índices pueden ser:

A.Numéricos
B.Asociativos

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

NULL
Significa Nulo o variable sin valor. Toma ese
resultado cuando:
• Se le asigna un valor NULL
• No se le ha asignado valor
• Se ha destruido con unset()

is_null() se usa para saber si la variable es NULL

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Variables, Operadores y Arrays

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Variables
Las representamos por un nombre precedido por el

simbolo $

$nombre = “Pepe”;

$apellidos = “Sánchez Martínez”;

$peliculas = array(“Superman”, “Superman 2”);

Son sensibles a mayúsculas y minúsculas

$Nombre

$nombre

$nOmbrE
Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Ejemplos de Variables
$nombre = “Pepe”; //Asignamos una cadena

$edad = 26; //Asignamos un número entero

$texto = “Mi nombre es $nombre”; //Cadena con

variable

$casado = FALSE; //Valor booleano

$_var = 10.22 //Asignamos un número real

$4var = ‘Juan’; //ERROR, comienzan por letra

o _

$concatena = $nombre . ‘ ‘ . $edad;


Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

VARIABLES DEL SISTEMA


• $_POST
• $_GET
• $_SERVER
• $_SESSION
•…

BUENAS PRÁCTICAS
• Nombres descriptivos
• Debemos tener en cuenta qué contiene cada
variable

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

OPERADORES
OPERADORES DE ASIGNACIÓN

= El operador de igual ya lo hemos visto


usar y es fácil de entender. La parte de la
derecha es asignada a la variable que
aparece en la izquierda.

OPERADORES DE CONCATENACIÓN

. El operador usado para la concatena-


ción de cadenas es el carácter punto “.”

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

OPERADORES
OPERADORES DE REFERENCIA

& Este operador es el de referencia. Con


él le decimos a una variable que tome el
valor de otra variable.

Ejemplo

$a = 5;
$b = &$a;
echo $b;
$a = 9;
echo $b;

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

OPERADORES
OPERADORES ARITMÉTICOS

+ Suma
- Resta
* Producto
/ División
% Resto de la operación de división

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

OPERADORES
OPERADORES DE COMPARACIÓN

== Igual
=== Igual y del mismo tipo
!= Distinto
< Menor que
> Mayor que
<= Menor o igual
>= Mayor o igual

Estos operadores los utilizaremos mucho en las


operaciones de control y bucles, que veremos después.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

OPERADORES
OPERADOR TERNARIO
El operador ternario es ‘?’ y sirve para indicar de forma
abreviada un condicional.
Su sintaxis es:
condición ? valor_verdadero : valor_falso

Siendo:
• Condición, la condición que se evalúa.
• valor_verdadero, lo que devuelve en caso de ser verdadera
la condición.
• valor_falso, lo que devuelve en caso de ser falsa la
condición.
Ejemplo: echo empty($x) ? “está vacía” : “No está vacía”;

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Arrays o vectores
Es una variable con un nivel de complejidad alto.
Se puede decir que es una variable compuesta, ya
que se compone de varios elementos. Podemos
afirmar que es una forma de agrupar datos.
Imaginemos la cola de un cine:

$cola = array(“Juan”, “Joaquín”, “Javier”,


“Jesús”);

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Arrays o vectores
Cuando hablamos de un array estamos agrupando por
parejas de clave y valor.
Esto quiere decir que cada posición estará definida por
un índice, y junto a este índice un valor.

$variablearray[clave] = valor;

Tipos de Arrays:
• Por índice
• $nombre[0] = “José”;
• $nombre[1] = “Juan”;
• Secuenciales
• $nombre[] = “José”;
• $nombre[] = “Juan”;
• Asociativos
• $capital[“España”] = “Madrid”;
• $capital[“Francia”] = “París”;
Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Arrays o vectores
Formas de asignar valores a un array:

$nombres = array(“Javier”, “Jesús”, “José”, “Juan”);


$nombres = [“Javier”, “Jesús”, “José”, “Juan”];

La segunda de las dos formas anteriores es más


óptima en tiempo de ejecución.

Otra forma es indicar las parejas de clave y valor:

$nombres = array( 1 => “Javier”, 2 => “Jesús);


$capitales = [ “españa” => “madrid”, “francia” => “parís”);

Si queremos un valor concreto del array:

$nombres[2];
$capitales[“francia”];
Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Estructuras de control

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Las estructuras de control están formadas


por los condicionales y los bucles.
Dentro de los condicionales tenemos
if
switch
Dentro de los bucles tenemos
for
do…while
while
foreach

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Condicionales
La estructura en PHP del IF es la siguiente:

Básica Anidada

if (condición) { if (cond1) {
instrucciones; instrucciones;
} elseif(cond2) {
} else {
instrucciones;
instrucciones; }
} …
} else {
instrucciones;
}
Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Condicionales, ejemplos
• Todo código: • Esquema más eficiente:

<?php <?php if($nombre = “Pepe”){ ?>


if($nombre = “Pepe”){ <p>Tu nombre es Pepe<p>
echo “Tu nombre es Pepe”; <?php }else{ ?>
}else{ <p>Tu no eres Pepe<p>
echo “Tu no eres Pepe”; <?php } ?>
}
?>

• Esquema simplificado de sintaxis:

<?php if($nombre = “Pepe”): ?>


<p>Tu nombre es Pepe<p>
<?php else: ?>
<p>Tu no eres Pepe<p>
<?php endif; ?>

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Condicionales
La estructura en PHP del switch es:
switch (variable) {
case valor1:
instrucciones;
break;
case valor2:
instrucciones;
break;

case valor:
instrucciones;
break;
default:
instrucciones;
break;
}
Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Condicionales
Aspectos a tener en cuenta:
• En los if anidados podemos separar el elseif
dejándolo como else if
• Dentro de la condición podemos utilizar
operadores comparativos y lógicos.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Estructuras de repetición
Dentro de las estructuras de repetición tenemos:

• while
El bucle while tiene la siguiente estructura en
PHP:
while (condicion) {
instrucciones;
}

• do…while
Y su estructura es:
do {
instrucciones;
} while (condicion);
Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España
Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Estructuras de repetición
Más estructuras de repetición:

• for
Cuya estructura en PHP es:
for ($i=inicio; $i<fin; $i=$i+variacion) {
instrucciones;
}
Donde
• $i es la variable de control del bucle
• inicio es el valor donde comienzan las repeticiones
• fin es el valor que permite terminar las repeticiones
• variación es el incremento o decremento de cada uno
de los pasos del bucle, por lo que puede ser tanto
positivo como negativo.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Estructuras de repetición
Y la última estructura de repetición:

• foreach
Siendo su estructura en PHP:
foreach ($matriz as $clave => $valor) {
instrucciones;
}
Donde
• $matriz es el array que vamos a recorrer
• $clave es el índice del array
• $valor es el valor que contiene el array
• Su uso habitual es para mostrar el contenido del
array, solo su valor o la pareja clave-valor. Si
queremos operar con él mejor se usa un bucle for.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Break y Continue
break permite salir del bucle donde se encuentre

break n sale de tantos bucles como valor tenga n

continue salta una iteración pero no se sale del

bucle

Observacion: goto se vuelve a utilizar a partir

de PHP5, pero no es nada recomendable

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Sintaxis alternativa
Tal y como hemos visto para el condicional,
disponemos de una sintaxis alternativa que nos
permite separar el código HTML del código de PHP,
que aunque ahora no la utilicemos habitualmente,
si lo haremos más adelante.

Básicamente consiste en la eliminación de las


llaves de apertura y cierre, siendo sustituidas
respectivamente por ‘:’ y por ‘endif;’,
‘endwhile;’, ‘endfor;’, ‘endforeach;’ o
‘endswitch;’ según corresponda.

Veamos algunos ejemplos a continuación.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Sintaxis alternativa
Sintaxis tradicional:

<?php
foreach ($nombres as $nombre){
echo “<li>$nombre</li>”;
}
?>

Sintaxis alternativa (más eficiente)

<?php foreach ($nombres as $nombre): ?>


<li>$nombre</li>
<?php endforeach; ?>

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Funciones en PHP

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Subprogramación
Las funciones las usamos como elementos para la
organización del código.

• Ordenar el código
• Jerarquizar
• Modularizar
• Reutilizar el código
Las funciones son muy útiles en programación ya que nos
permiten agregar código para realizar alguna tarea. Las
funciones sin una manera de distribuir nuestro código y
mantener ordenado el mismo. También nos ayudan a no escribir
varias veces el mismo código, ya que al estar agrupado en
una función, podemos llamarla las veces que nos haga falta.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Funciones
Si tenemos que realizar una acción que conlleva
varias líneas de código, las programamos y ya está

¿Qué ocurre si esa acción la quiero repetir 5


veces, o 10 o un número indeterminado de veces?

La forma correcta es hacerlo mediante una función.


El código se escribe una sola vez pero puede ser
invocado tantas veces como queramos o necesitemos.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Partes de una función


function nombre ($arg1,$arg2,…) {
instrucciones;
return $valor;
}

Donde tenemos como partes las siguientes:

• nombre: Es el nombre que le damos a la función. No puede ser una


palabra reservada del sistema.
• $arg1,$arg2: Son los argumentos que le pasamos a la función. Puede
no recibir ninguno a recibir varios.
• El cuerpo de la función está compuesto por instrucciones, que
desarrollan la función.
• return: Instrucción que permite devolver el resultado de la
función. Puede haber varios return en la función pero hay que
tener en cuenta que después de ejecutar uno de ellos se acaba la
función y ya no se ejecuta nada más.
• Las funciones anónimas son aquellas que no tienen nombre. Sólo se
usan una vez. Las veremos más adelante con Laravel.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Parámetros
Los parámetros son pasados por valor por defecto
Se antepone & si queremos pasarlos por referen-
cia
En la propia línea podemos poner valores por
defecto

function saluda(&$nombre, $formalismo = “Buenos días”) {


if ($nombre == “”) {
$nombre = “amigo”;
}
echo $formalismo . “ “ . $nombre;
}

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Resultado de la función
Se devuelve el resultado de la función con la

palabra reservada return seguida de una variable.

• Si se omite el return, la función devuelve NULL.

• Cuando se ejecuta, se acaba la función.

• Podemos devolver múltiples valores con un array.

Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España


Tema 2: Sintaxis, Tipos de Datos, Variables, Operadores, Arrays, Estructuras de Control y Funciones DWES

Ámbito de las variables


Las variables creadas dentro de una función, son
locales a la función. Eso significa que desde fuera
de la función no se puede acceder a las mismas.

Las variables creadas fuera de la función son


desconocidas para la función. Si las pasamos como
parámetros entonces si las reconoce.

Disponemos como opción el definir variables globales,


que son conocidas en todo el ámbito de la aplicación.
No es aconsejable salvo excepciones porque nos
cargamos la modularidad y la posibilidad de
reutilización del código. Para definir variables
globales anteponemos a la definición de la variable
la palabra reservada global o podemos usar el array
$GLOBALS.
Carlos M. Abrisqueta Valcárcel IES Ingeniero de la Cierva, Murcia, España

Вам также может понравиться