Upload
dinhtu
View
222
Download
0
Embed Size (px)
Citation preview
PHP: Lenguaje de programacion
Francisco J. Martın MateosCarmen Graciani Diaz
Dpto. Ciencias de la Computacion e Inteligencia Artificial
Universidad de Sevilla
Metodologıa de la Programacion PHP: Lenguaje de programacion
Tipos de datos
Enteros
Con base decimal: 45, -43Con base octal: 043, -054Con base hexadecimal: 0x32f, 0xdd
Reales
Notacion decimal: 34.4, -23.3Notacion exponencial: 32.4e-7, -10.4e5
Logicos (booleanos): TRUE, FALSE
Valor nulo: NULL
Se emplea unicamente para comprobar si una variable tiene unvalor asignado
Metodologıa de la Programacion PHP: Lenguaje de programacion
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 caracter
\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
Solo se admiten las siguientes secuencias de escape
\\: Barra invertida
\’: Comillas simples
Metodologıa de la Programacion PHP: Lenguaje de programacion
Variables
Las variables son contenedores donde se almacenan valorespara su posterior uso
Las variables en PHP se representan con un sımbolo $ seguidopor el nombre de la variable
Como nombre de variable se puede utilizar cualquier secuenciade caracteres alfanumericos y ’ ’, que no comience por unnumero
En PHP no hace falta declarar las variables antes de usarlas
Una misma variable se puede reutilizar asignandole datos dedistinto tipo
Todas las variables son globales salvo las utilizadas en lasdefiniciones de funciones
Metodologıa de la Programacion PHP: Lenguaje de programacion
Variables
JavaScript distingue entre mayusculas y minusculas, ası que$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ıa de la Programacion PHP: Lenguaje de programacion
Arrays asociativos
Un array asociativo es un tipo de dato compuesto que asociaclaves con valores
Las claves pueden ser numeros enteros o cadenasLos valores pueden ser cualquier cosa, incluso otro arrayasociativo
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 numerica n en $A
El contenido de un array asociativo se puede indicar en elmomento de su construccion (con la funcion array()) omediante la asignacion de valores a nuevas claves en el array
Para ver todo el contenido de un array asociativo (claves yvalores), se puede utilizar la funcion print r()
Metodologıa de la Programacion PHP: Lenguaje de programacion
Arrays asociativos
Al construir un array asociativo se puede indicar la asociacionentre claves y valores o unicamente valores
Para los valores que no tienen una clave asociada se utilizanclaves numericas contando desde 0
Se puede construir un array sin contenido $A = array()
Al evaluar $A = array(0, ’cero’ => 1, 4, 5 => 9), setendra que $A[0] vale 0, $A[’cero’] vale 1, $A[1] vale 4 y$A[5] vale 9
Se pueden anadir nuevos valores al array indicando la clave
Despues de evaluar $A[’uno’] = 16, se tendra que$A[’uno’] vale 16
Se pueden anadir nuevos valores al array sin indicar la clave,en este caso se utilizara la siguiente clave numerica a la ultimautilizada
Despues de evaluar $A[] = 25, se tendra $A[6] vale 25
Metodologıa de la Programacion PHP: Lenguaje de programacion
Arrays asociativos
Para construir arrays bidimensionales basta con indicar unarray 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 hayque indicar las claves una a una
En el ejemplo anterior $A[1][2] tiene el valor 6
Metodologıa de la Programacion PHP: Lenguaje de programacion
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 metodo"get"
$ POST: Variables procedentes de un formulario con el metodo"post"
$ FILES: Variables procedentes de la descarga de ficherosdesde un formulario$ SESSION: Variables de sesion
En cada uno de estos arrays asociativos las claves sonnombres de variables y los valores son los valores de estas
Metodologıa de la Programacion PHP: Lenguaje de programacion
Variables procedentes de la URI
En la URI de un documento se pueden indicar valores devariables 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
<?phpif ( $ GET[’hora’] < 20 ) {
if ( $ GET[’hora’] < 13 ) {echo ’Buenos d´ıas’;
} else {echo ’Buenas tardes’;
}} else {
echo ’Buenas noches’;}?>
Metodologıa de la Programacion PHP: Lenguaje de programacion
Instrucciones
Las instrucciones son sentencias de codigo
El final de una instruccion se indica con ;
En algunas ocasiones es necesario agrupar instrucciones en unbloque, para ello utilizamos los delimitadores { y }
Los bloques de instrucciones no necesitan el indicador de finalde instruccion ;
Metodologıa de la Programacion PHP: Lenguaje de programacion
Comentarios
Comentarios de bloque: delimitados por /* y */
Comentarios de bloque en PHP
<?phpif ( date(’H’,time()) > 21 ) { / * La funci on date
extrae la hora ’H’de la fecha actualen el navegador * /
echo ’Buenas noches’;} else {
echo ’Buenos d´ıas’;}?>
Metodologıa de la Programacion PHP: Lenguaje de programacion
Comentarios
Comentarios de lınea: comienzan con // (o #) y abarcan hastael final de la lınea o la marca de final de codigo PHP (?>)
Comentarios de lınea en PHP<?phpif ( date(’H’,time()) > 21 ) {
echo ’Buenas noches’; // Es de noche} else {
echo ’Buenos d´ıas’; # Es de d´ıa}// Final del c odigo PHP ?> // Esto no es comentario
Metodologıa de la Programacion PHP: Lenguaje de programacion
Operadores
Operadores aritmeticos
Operador Uso Significado
- -x Opuesto+ x + y Suma- x - y Resta* x * y Multiplicacion/ x / y Division% x % y Modulo
Metodologıa de la Programacion PHP: Lenguaje de programacion
Operadores
Operadores de asignacion
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ıa de la Programacion PHP: Lenguaje de programacion
Operadores
Operadores de incremento y decremento
Operador Uso Significado
++ $a++ Usar $a y despues $a = $a + 1
++$a Hacer $a = $a + 1 y despues usar $a-- $a-- Usar $a y despues $a = $a - 1
--$a Hacer $a = $a - 1 y despues usar $a
Metodologıa de la Programacion PHP: Lenguaje de programacion
Operadores
Operadores de comparacion
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ıa de la Programacion PHP: Lenguaje de programacion
Operadores
Operadores logicos
Operador Uso Significado
and x and y Conjuncionor x or y Disyuncionxor x xor y Disyuncion excluyente! !x Negacion&& x && y Conjuncion|| x || y Disyuncion
Metodologıa de la Programacion PHP: Lenguaje de programacion
Operadores
Operador condicional
Operador Uso Significado
? : x ? y : z Si x se evalua a TRUE
entonces evalua y,si x se evalua a FALSE
entonces evalua z
Metodologıa de la Programacion PHP: Lenguaje de programacion
Operadores
Operadores de cadenas
Operador Uso Significado
. s1 . s2 Concatenacion.= $s .= s2 $s = $s . s2
Metodologıa de la Programacion PHP: Lenguaje de programacion
Condicionales
Estructura del condicional ifif (condicion) {
consecuencia} else {
alternativa}
Funcionamiento
Si la condicion es cierta, se evalua la consecuencia, en casocontrario se evalua la alternativa
Tanto la consecuencia como la alternativa puedencontener mas de una instruccion
La parte else { alternativa } es opcional
Metodologıa de la Programacion PHP: Lenguaje de programacion
Condicionales
Condicional simple
<?phpif ( date(’H’,time()) < 13 ) {
echo ’Buenos d´ıas’;}?>
Condicional completo
<?phpif ( date(’H’,time()) < 13 ) {
echo ’Buenos d´ıas’;} else {
echo ’Buenas tardes’;}?>
Metodologıa de la Programacion PHP: Lenguaje de programacion
Condicionales
Condicionales anidados<?phpif ( 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 necesariospara obtener el resultado esperado
En este caso hay una anidacion en la alternativa del primercondicional usando la estructura elseif
Metodologıa de la Programacion PHP: Lenguaje de programacion
Condicionales
Condicionales anidados<?phpif ( 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, tambien se puede hacer unaanidacion en la consecuencia del condicional
Metodologıa de la Programacion PHP: Lenguaje de programacion
Bucles
Estructura del bucle for
for (inicializacion; condicion; actualizacion) {instrucciones
}
Funcionamiento:
Se realiza la inicializacion
Mientras la condicion sea cierta, se evaluan lasinstrucciones y despues la actualizacion
Si la condicion es falsa, se termina el bucle
Usualmente existe una variable de control del bucle que tomasu valor inicial en la inicializacion, interviene en lacondicion y cambia en la actualizacion
Metodologıa de la Programacion PHP: Lenguaje de programacion
Bucles
Bucle con dos variables de control<?phpfor ($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ıa de la Programacion PHP: Lenguaje de programacion
Bucles
Bucles anidados<?phpfor ($i = 1; $i <= 6; $i++) {
echo ’Ficha: ’;for ($j = 1; $j <= $i; $j++) {
echo "|$i:$j| ";}echo ’<BR>’;
}?>
Metodologıa de la Programacion PHP: Lenguaje de programacion
Bucles
Estructura del bucle while
while (condicion) {instrucciones
}
Funcionamiento:
Mientras la condicion sea cierta, se evaluan lasinstrucciones
Si la condicion es falsa, se termina el bucle
Usualmente existe variables de control del bucle que toman suvalor inicial antes del bucle, intervienen en la condicion ycambian en las instrucciones
Metodologıa de la Programacion PHP: Lenguaje de programacion
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ıa de la Programacion PHP: Lenguaje de programacion
Bucles
Bucles anidados<?php$i = 1;while ($i <= 6) {
echo ’Ficha: ’;$j = 1;while ($j <= $i) {
echo "|$i:$j| ";$j++;
}echo ’<BR>’;$i++;
}?>
Metodologıa de la Programacion PHP: Lenguaje de programacion
Bucles
La instruccion break permite terminar de forma brusca laejecucion de un bucle
Se puede utilizar con las bucles for y while
Uso de la instruccion break
<?phpecho ’Numeros:’;for ($i = 1; $i <= 6; $i++) {
echo " $i";if ($i == 3) {
break;}
}?>
Metodologıa de la Programacion PHP: Lenguaje de programacion
Bucles
La instruccion break admite un parametro opcional, quedetermina cuantos bucles anidados hay que terminar
Uso de la instruccion break
<?phpfor ($i = 1; $i <= 6; $i++) {
echo ’Ficha: ’;for ($j = 1; $j <= $i; $j++) {
echo "|$i:$j| ";if ($j == 3) {
break 2;}
}echo ’<BR>’;
}?>
Metodologıa de la Programacion PHP: Lenguaje de programacion
Bucles
La instruccion continue permite saltar una iteracion en laejecucion de un bucle
En un bucle for salta hasta la actualizacion
En un bucle while salta hasta la condicion
Uso de la instruccion continue
<?phpecho ’Numeros:’;for ($i = 1; $i <= 6; $i++) {
if ($i == 3) {continue;
}echo " $i";
}?>
Metodologıa de la Programacion PHP: Lenguaje de programacion
Bucles
La instruccion continue admite un parametro opcional, quedetermina cuantos niveles (bucles) hay que saltar antes decontinuar la ejecucion
Uso de la instruccion continue
<?phpfor ($i = 1; $i <= 6; $i++) {
echo ’Ficha: ’;for ($j = 1; $j <= $i; $j++) {
if ($j == 3) {continue 2;
}echo "|$i:$j| ";
}echo ’<BR>’;
}?>
Metodologıa de la Programacion PHP: Lenguaje de programacion
Funciones
Una funcion es un fragmento de codigo al que suministramosunos datos y devuelve un resultado o efecto
En PHP las funciones se definen con la estructura function
La instruccion return sirve para devolver un valor comoresultado de la ejecucion de una funcion
La definicion de una funcion hay que realizarla antes quecualquier uso de la misma
Estructura de la definicion de funcionesfunction nombre ($var1, $var2, ...) {
instrucciones...return valor;
}
Metodologıa de la Programacion PHP: Lenguaje de programacion
Funciones
Para evaluar una funcion basta con utilizar su nombre contantos argumentos como variables aparezcan en la definicionde la funcion
Al evaluar una funcion, se ejecutan todas las instrucciones delcuerpo de su definicion, donde las variables de la definicionson sustituidas por los argumentos de la llamada
Evaluacion de funcionesnombre (arg1, arg2, ...);
Metodologıa de la Programacion PHP: Lenguaje de programacion
Funciones
Las variables que se utilizan en la definicion (cabecera ycuerpo) de una funcion son locales a la definicion de la misma
Si queremos hacer referencia a una variable externa a unafuncion debemos utilizar la instruccion global
Variables locales y globales
<?php$a = 1; $b = 2; $c = 3;
function Sum($c) {$a = 0;global $b;$b = $a + $b + $c;
}
Sum(4);?>
Despues de la evaluacion, $a mantiene su valor original y $b
toma el valor 6
Metodologıa de la Programacion PHP: Lenguaje de programacion