Lenguaje de programacion php

37
PHP: Lenguaje de programaci´on Francisco J. Mart´ ın Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computaci´ on e Inteligencia Artificial Universidad de Sevilla Metodolog´ ıa de la Programaci´ on PHP: Lenguaje de programaci´ on

description

 

Transcript of Lenguaje de programacion php

Page 1: Lenguaje de programacion php

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

Page 2: Lenguaje de programacion php

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

Page 3: Lenguaje de programacion php

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

Page 4: Lenguaje de programacion php

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

Page 5: Lenguaje de programacion php

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

Page 6: Lenguaje de programacion php

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

Page 7: Lenguaje de programacion php

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

Page 8: Lenguaje de programacion php

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

Page 9: Lenguaje de programacion php

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

Page 10: Lenguaje de programacion php

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

Page 11: Lenguaje de programacion php

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

Page 12: Lenguaje de programacion php

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

Page 13: Lenguaje de programacion php

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

Page 14: Lenguaje de programacion php

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

Page 15: Lenguaje de programacion php

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

Page 16: Lenguaje de programacion php

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

Page 17: Lenguaje de programacion php

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

Page 18: Lenguaje de programacion php

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

Page 19: Lenguaje de programacion php

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

Page 20: Lenguaje de programacion php

Operadores

Operadores de cadenas

Operador Uso Significado

. s1 . s2 Concatenacion.= $s .= s2 $s = $s . s2

Metodologıa de la Programacion PHP: Lenguaje de programacion

Page 21: Lenguaje de programacion php

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

Page 22: Lenguaje de programacion php

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

Page 23: Lenguaje de programacion php

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

Page 24: Lenguaje de programacion php

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

Page 25: Lenguaje de programacion php

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

Page 26: Lenguaje de programacion php

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

Page 27: Lenguaje de programacion php

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

Page 28: Lenguaje de programacion php

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

Page 29: Lenguaje de programacion php

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

Page 30: Lenguaje de programacion php

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

Page 31: Lenguaje de programacion php

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

Page 32: Lenguaje de programacion php

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

Page 33: Lenguaje de programacion php

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

Page 34: Lenguaje de programacion php

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

Page 35: Lenguaje de programacion php

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

Page 36: Lenguaje de programacion php

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

Page 37: Lenguaje de programacion php

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