1. PHP: Lenguaje de programaci´n
o
Francisco J. Mart´ Mateos
ın
Carmen Graciani Diaz
Dpto. Ciencias de la Computaci´n e Inteligencia Artificial
o
Universidad de Sevilla
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
2. Tipos de datos
Enteros
Con base decimal: 45, -43
Con base octal: 043, -054
Con base hexadecimal: 0x32f, 0xdd
Reales
Notaci´n decimal: 34.4, -23.3
o
Notaci´n exponencial: 32.4e-7, -10.4e5
o
L´gicos (booleanos): TRUE, FALSE
o
Valor nulo: NULL
Se emplea ´nicamente para comprobar si una variable tiene un
u
valor asignado
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
3. Tipos de datos
Cadenas (strings):
Delimitadas por comillas dobles "
Se expande cualquier variable que haya dentro de la cadena
Se admiten las siguientes secuencias de escape
b: Retrocede un car´cter
a
n: Nueva l´ınea
r: Retorno de carro
t: Tabulador
: Barra invertida
’: Comillas simples
": Comillas dobles
Delimitadas por comillas simples ’
No se expande ninguna variable que haya dentro de la cadena
S´lo se admiten las siguientes secuencias de escape
o
: Barra invertida
’: Comillas simples
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
4. Variables
Las variables son contenedores donde se almacenan valores
para su posterior uso
Las variables en PHP se representan con un s´
ımbolo $ seguido
por el nombre de la variable
Como nombre de variable se puede utilizar cualquier secuencia
de caracteres alfanum´ricos y ’ ’, que no comience por un
e
n´mero
u
En PHP no hace falta declarar las variables antes de usarlas
Una misma variable se puede reutilizar asign´ndole datos de
a
distinto tipo
Todas las variables son globales salvo las utilizadas en las
definiciones de funciones
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
5. Variables
JavaScript distingue entre may´sculas y min´sculas, as´ que
u u ı
$dato, $Dato y $DATO son tres variables distintas
Variables en PHP
<?php
$dato = 3;
$Dato = 5;
$DATO = 7;
echo $dato;
echo $Dato;
echo $DATO;
?>
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
6. Arrays asociativos
Un array asociativo es un tipo de dato compuesto que asocia
claves con valores
Las claves pueden ser n´meros enteros o cadenas
u
Los valores pueden ser cualquier cosa, incluso otro array
asociativo
Si $A es un array asociativo entonces
$A[’clave’] es el valor asociado a la ’clave’ en $A
$A[n] es el valor asociado a la clave n´merica n en $A
u
El contenido de un array asociativo se puede indicar en el
momento de su construcci´n (con la funci´n array()) o
o o
mediante la asignaci´n de valores a nuevas claves en el array
o
Para ver todo el contenido de un array asociativo (claves y
valores), se puede utilizar la funci´n print r()
o
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
7. Arrays asociativos
Al construir un array asociativo se puede indicar la asociaci´n
o
entre claves y valores o unicamente valores
´
Para los valores que no tienen una clave asociada se utilizan
claves num´ricas contando desde 0
e
Se puede construir un array sin contenido $A = array()
Al evaluar $A = array(0, ’cero’ => 1, 4, 5 => 9), se
tendr´ que $A[0] vale 0, $A[’cero’] vale 1, $A[1] vale 4 y
a
$A[5] vale 9
Se pueden a˜adir nuevos valores al array indicando la clave
n
Despu´s de evaluar $A[’uno’] = 16, se tendr´ que
e a
$A[’uno’] vale 16
Se pueden a˜adir nuevos valores al array sin indicar la clave,
n
en este caso se utilizar´ la siguiente clave num´rica a la ultima
a e ´
utilizada
Despu´s de evaluar $A[] = 25, se tendr´ $A[6] vale 25
e a
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
8. Arrays asociativos
Para construir arrays bidimensionales basta con indicar un
array como valor asociado a una clave
Array bidimensional
<?php
$A = array(array(1,2,3),
array(4,5,6),
array(7,8,9));
?>
Para acceder a los elementos de un array multidimensional hay
que indicar las claves una a una
En el ejemplo anterior $A[1][2] tiene el valor 6
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
9. Variables predefinidas
Arrays asociativos predefinidos
$ SERVER: Variables definidas por el servidor Web
$ ENV: Variables de entorno del servidor Web
$ GET: Variables procedentes de un formulario con el m´todo
e
"get"
$ POST: Variables procedentes de un formulario con el m´todo
e
"post"
$ FILES: Variables procedentes de la descarga de ficheros
desde un formulario
$ SESSION: Variables de sesion
En cada uno de estos arrays asociativos las claves son
nombres de variables y los valores son los valores de ´stas
e
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
10. Variables procedentes de la URI
En la URI de un documento se pueden indicar valores de
variables de la siguiente forma:
http://.../variables.php?hora=20&minuto=34
Estas variables se almacenan en el array asociativo $ GET
Variables procedentes de la URI
<?php
if ( $ GET[’hora’] < 20 ) {
if ( $ GET[’hora’] < 13 ) {
echo ’Buenos d´as’;
ı
} else {
echo ’Buenas tardes’;
}
} else {
echo ’Buenas noches’;
}
?>
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
11. Instrucciones
Las instrucciones son sentencias de c´digo
o
El final de una instrucci´n se indica con ;
o
En algunas ocasiones es necesario agrupar instrucciones en un
bloque, para ello utilizamos los delimitadores { y }
Los bloques de instrucciones no necesitan el indicador de final
de instrucci´n ;
o
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
12. Comentarios
Comentarios de bloque: delimitados por /* y */
Comentarios de bloque en PHP
<?php
if ( date(’H’,time()) > 21 ) { /* La funci´n date
o
extrae la hora ’H’
de la fecha actual
en el navegador */
echo ’Buenas noches’;
} else {
echo ’Buenos d´as’;
ı
}
?>
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
13. Comentarios
Comentarios de l´ ınea: comienzan con // (o #) y abarcan hasta
el final de la l´
ınea o la marca de final de c´digo PHP (?>)
o
Comentarios de l´
ınea en PHP
<?php
if ( date(’H’,time()) > 21 ) {
echo ’Buenas noches’; // Es de noche
} else {
echo ’Buenos d´as’;
ı # Es de d´a
ı
}
// Final del c´digo PHP ?> // Esto no es comentario
o
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
14. Operadores
Operadores aritm´ticos
e
Operador Uso Significado
- -x Opuesto
+ x + y Suma
- x - y Resta
* x * y Multiplicaci´n
o
/ x / y Divisi´n
o
% x % y M´dulo
o
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
15. Operadores
Operadores de asignaci´n
o
Operador Uso Significado
= $a = x Asigna a $a el valor de x
+= $a += x $a = $a + x
-= $a -= x $a = $a - x
*= $a *= x $a = $a * x
/= $a /= x $a = $a / x
%= $a %= x $a = $a % x
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
16. Operadores
Operadores de incremento y decremento
Operador Uso Significado
++ $a++ Usar $a y despu´s $a = $a
e + 1
++$a Hacer $a = $a + 1 y despu´s
e usar $a
-- $a-- Usar $a y despu´s $a = $a
e - 1
--$a Hacer $a = $a - 1 y despu´s
e usar $a
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
17. Operadores
Operadores de comparaci´n
o
Operador Uso Significado
== x == y Equivalencia
!= x != y Distinto de
<> x <> y Distinto de
=== x === y Identidad (valor y tipo)
!== x !== y No identicos (valor y tipo)
< x < y Menor que
<= x <= y Menor o igual que
> x > y Mayor que
>= x >= y Mayor o igual que
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
18. Operadores
Operadores l´gicos
o
Operador Uso Significado
and x and y Conjunci´n
o
or x or y Disyunci´n
o
xor x xor y Disyunci´n excluyente
o
! !x Negaci´n
o
&& x && y Conjunci´n
o
|| x || y Disyunci´n
o
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
19. Operadores
Operador condicional
Operador Uso Significado
? : x ? y : z Si x se eval´a a TRUE
u
entonces eval´a y,
u
si x se eval´a a FALSE
u
entonces eval´a z
u
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
20. Operadores
Operadores de cadenas
Operador Uso Significado
. s1 . s2 Concatenaci´n
o
.= $s .= s2 $s = $s . s2
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
21. Condicionales
Estructura del condicional if
if (condicion) {
consecuencia
} else {
alternativa
}
Funcionamiento
Si la condicion es cierta, se eval´a la consecuencia, en caso
u
contrario se eval´a la alternativa
u
Tanto la consecuencia como la alternativa pueden
contener m´s de una instrucci´n
a o
La parte else { alternativa } es opcional
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
22. Condicionales
Condicional simple
<?php
if ( date(’H’,time()) < 13 ) {
echo ’Buenos d´as’;
ı
}
?>
Condicional completo
<?php
if ( date(’H’,time()) < 13 ) {
echo ’Buenos d´as’;
ı
} else {
echo ’Buenas tardes’;
}
?>
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
23. Condicionales
Condicionales anidados
<?php
if ( date(’H’,time()) < 13 ) {
echo ’Buenos d´as’;
ı
} elseif ( date(’H’,time()) < 20 ) {
echo ’Buenas tardes’;
} else {
echo ’Buenas noches’;
}
?>
Se pueden anidar tantos condicionales como sean necesarios
para obtener el resultado esperado
En este caso hay una anidaci´n en la alternativa del primer
o
condicional usando la estructura elseif
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
24. Condicionales
Condicionales anidados
<?php
if ( date(’H’,time()) < 20 ) {
if ( date(’H’,time()) < 13 ) {
echo ’Buenos d´as’;
ı
} else {
echo ’Buenas tardes’;
}
} else {
echo ’Buenas noches’;
}
?>
Aunque es menos natural, tambi´n se puede hacer una
e
anidaci´n en la consecuencia del condicional
o
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
25. Bucles
Estructura del bucle for
for (inicializacion; condicion; actualizacion) {
instrucciones
}
Funcionamiento:
Se realiza la inicializacion
Mientras la condicion sea cierta, se eval´an las
u
instrucciones y despu´s la actualizacion
e
Si la condicion es falsa, se termina el bucle
Usualmente existe una variable de control del bucle que toma
su valor inicial en la inicializacion, interviene en la
condicion y cambia en la actualizacion
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
26. Bucles
Bucle con dos variables de control
<?php
for ($subir = 1, $bajar = 10;
$subir < $bajar, $subir < 3;
$subir++, $bajar--) {
echo "Bajar: $bajar - Subir: $subir <BR>";
}
?>
En este caso hay dos variables para controlar el bucle
Dos inicializaciones: $subir = 1, $bajar = 10
Dos condiciones: $subir < $bajar, $subir < 3
Dos actualizaciones: $subir++, $bajar--
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
27. Bucles
Bucles anidados
<?php
for ($i = 1; $i <= 6; $i++) {
echo ’Ficha: ’;
for ($j = 1; $j <= $i; $j++) {
echo "|$i:$j| ";
}
echo ’<BR>’;
}
?>
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
28. Bucles
Estructura del bucle while
while (condicion) {
instrucciones
}
Funcionamiento:
Mientras la condicion sea cierta, se eval´an las
u
instrucciones
Si la condicion es falsa, se termina el bucle
Usualmente existe variables de control del bucle que toman su
valor inicial antes del bucle, intervienen en la condicion y
cambian en las instrucciones
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
29. Bucles
Bucle con dos variables de control
<?php
$subir = 1;
$bajar = 10;
while ($subir < $bajar && $subir < 3) {
echo "Bajar: $bajar - Subir: $subir <BR>";
$subir++;
$bajar--;
}
?>
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
30. Bucles
Bucles anidados
<?php
$i = 1;
while ($i <= 6) {
echo ’Ficha: ’;
$j = 1;
while ($j <= $i) {
echo "|$i:$j| ";
$j++;
}
echo ’<BR>’;
$i++;
}
?>
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
31. Bucles
La instrucci´n break permite terminar de forma brusca la
o
ejecuci´n de un bucle
o
Se puede utilizar con las bucles for y while
Uso de la instrucci´n break
o
<?php
echo ’N´meros:’;
u
for ($i = 1; $i <= 6; $i++) {
echo " $i";
if ($i == 3) {
break;
}
}
?>
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
32. Bucles
La instrucci´n break admite un par´metro opcional, que
o a
determina cuantos bucles anidados hay que terminar
Uso de la instrucci´n break
o
<?php
for ($i = 1; $i <= 6; $i++) {
echo ’Ficha: ’;
for ($j = 1; $j <= $i; $j++) {
echo "|$i:$j| ";
if ($j == 3) {
break 2;
}
}
echo ’<BR>’;
}
?>
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
33. Bucles
La instrucci´n continue permite saltar una iteraci´n en la
o o
ejecuci´n de un bucle
o
En un bucle for salta hasta la actualizacion
En un bucle while salta hasta la condicion
Uso de la instrucci´n continue
o
<?php
echo ’N´meros:’;
u
for ($i = 1; $i <= 6; $i++) {
if ($i == 3) {
continue;
}
echo " $i";
}
?>
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
34. Bucles
La instrucci´n continue admite un par´metro opcional, que
o a
determina cuantos niveles (bucles) hay que saltar antes de
continuar la ejecuci´n
o
Uso de la instrucci´n continue
o
<?php
for ($i = 1; $i <= 6; $i++) {
echo ’Ficha: ’;
for ($j = 1; $j <= $i; $j++) {
if ($j == 3) {
continue 2;
}
echo "|$i:$j| ";
}
echo ’<BR>’;
}
?>
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
35. Funciones
Una funci´n es un fragmento de c´digo al que suministramos
o o
unos datos y devuelve un resultado o efecto
En PHP las funciones se definen con la estructura function
La instrucci´n return sirve para devolver un valor como
o
resultado de la ejecuci´n de una funci´n
o o
La definici´n de una funci´n hay que realizarla antes que
o o
cualquier uso de la misma
Estructura de la definici´n de funciones
o
function nombre ($var1, $var2, ...) {
instrucciones
...
return valor;
}
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
36. Funciones
Para evaluar una funci´n basta con utilizar su nombre con
o
tantos argumentos como variables aparezcan en la definici´n
o
de la funci´n
o
Al evaluar una funci´n, se ejecutan todas las instrucciones del
o
cuerpo de su definici´n, donde las variables de la definici´n
o o
son sustituidas por los argumentos de la llamada
Evaluaci´n de funciones
o
nombre (arg1, arg2, ...);
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o
37. Funciones
Las variables que se utilizan en la definici´n (cabecera y
o
cuerpo) de una funci´n son locales a la definici´n de la misma
o o
Si queremos hacer referencia a una variable externa a una
funci´n debemos utilizar la instrucci´n global
o o
Variables locales y globales
<?php
$a = 1; $b = 2; $c = 3;
function Sum($c) {
$a = 0;
global $b;
$b = $a + $b + $c;
}
Sum(4);
?>
Despu´s de la evaluaci´n, $a mantiene su valor original y $b
e o
toma el valor 6
Metodolog´ de la Programaci´n
ıa o PHP: Lenguaje de programaci´n
o