Variables
Las variables siempre van precedidas de un $
El nombre es sensible a las mayúsculas
Comienzan por letra o subrayado, seguido de letras, números o subrayado
Variables predefinidas:
$GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES,
$_ENV, $_REQUEST, $_SESSION
Ámbito: globales al fichero (excepto funciones) o locales a una función
Ejemplo:
$valor = 5;
print El valor es: . $valor . n;
print El valor es: $valorn; // ojo: comillas dobles
Resultado:
El valor es: 5
Variables
Variables variables
Se pueden crear nombres de variables dinámicamente
La variable variable toma su nombre del valor de otra variable previamente declarada
Ejemplo:
$a = "hola";
$$a = "mundo";
print "$a $holan";
print "$a ${$a}";
Resultado:
hola mundo
hola mundo
Variables
< ?PHP
$mensaje_es="Hola";
$mensaje_en="Hello";
$idioma = "es";
$mensaje = "mensaje_" . $idioma;
print $$mensaje;
?>
Ejemplo de variables variables: página internacionalizada (1)
Variables
< ?PHP
$mensaje_es="Hola";
$mensaje_en="Hello";
$idioma = "en";
$mensaje = "mensaje_" . $idioma;
print $$mensaje;
?>
Ejemplo de variables variables: página internacionalizada (2)
Constantes
Definición de constantes:
define (CONSTANTE, hola);
print CONSTANTE;
No llevan $ delante
Sólo se pueden definir constantes de los tipos escalares (boolean, integer, double, string)
Expresiones y operadores
Operadores aritméticos: +, -, *, /, %, ++, —
Operador de asignación: = operadores combinados: .=, +=, etc $a = 3; $a += 5; ? a vale 8 $b = hola ; $b .= mundo; ? b vale hola mundo ? Equivale a $b = $b . mundo;
Operadores de comparación: ==, !=, < , >, < =, >= y otros
Operador de control de error: @. Antepuesto a una expresión, evita cualquier mensaje de error que pueda ser generado por la expresión
Operadores lógicos: and (&&), or (||), !, xor and/&& y or/|| tienen diferentes prioridades
Operadores de cadena: concatenación: . (punto) asignación con concatenación: .=
Expresiones y operadores
Precedencia de operadores (de mayor a menor):
++, —
*, /, %
+,-
< , < =, >, >=
==, !=
&&
||
and
or
Estructuras de control
Estructuras selectivas:
if-else
switch
Estructuras repetitivas:
while
for
foreach
Estructuras de control
Estructura selectiva if-else
Mismo comportamiento que en C
Las sentencias compuestas se encierran entre llaves
elseif puede ir todo junto
if (condición)
sentencia
if (condición1)
sentencia 1
else if (condición2)
sentencia 2
…
else if (condición n)
sentencia n
else
sentencia n+1
if (condición)
sentencia 1
else
sentencia 2
Estructuras de control
Ejemplo de estructura selectiva if-else:
< ?PHP
if ($sexo == M)
$saludo = "Bienvenida, ";
else
$saludo = "Bienvenido, ";
$saludo = $saludo . $nombre;
print ($saludo);
?>
Estructuras de control
Estructura selectiva switch
switch (expresión)
{
case valor_1:
sentencia 1
break;
case valor_2:
sentencia 2
break;
case valor_n:
sentencia n
break;
default
sentencia n+1
}
Mismo comportamiento que en C, sólo que la expresión del case puede ser integer, float o string
Estructuras de control
Ejemplo de estructura selectiva switch:
switch ($extension)
{
case ("PDF"):
$tipo = "Documento Adobe PDF";
break;
case ("TXT"):
$tipo = "Documento de texto";
break;
case ("HTML"):
case ("HTM"):
$tipo = "Documento HTML";
break;
default:
$tipo = "Archivo " . $extension;
}
print ($tipo);
Estructuras de control
Estructura repetitiva while
while (condición)
sentencia
Mismo comportamiento que en C
condición
sentencia
cierta
falsa
Estructuras de control
Ejemplo de estructura repetitiva while:
< ?PHP
print ("< UL>n");
$i=1;
while ($i < = 5)
{
print ("< LI>Elemento $i< /LI>n");
$i++;
}
print ("< /UL>n");
?>
Estructuras de control
Estructura repetitiva for
for (inicialización; condición; incremento)
sentencia
Mismo comportamiento que en C
condición
sentencia
cierta
falsa
incremento
inicialización
Estructuras de control
Ejemplo de estructura repetitiva for:
< ?PHP
print ("< UL>n");
for ($i=1; $i< =5; $i++)
print ("< LI>Elemento $i< /LI>n");
print ("< /UL>n");
?>
Estructuras de control
Ejercicio 2: programa que calcula una tabla de multiplicar
Ilustra cómo manejar variables y cómo usar bucles
Funciones
Ejemplo:
function suma ($x, $y)
{
$s = $x + $y;
return $s;
}
$a=1;
$b=2;
$c=suma ($a, $b);
print $c;
Funciones
Por defecto los parámetros se pasan por valor
Paso por referencia:
function incrementa (&$a)
{
$a = $a + 1;
}
$a=1;
incrementa ($a);
print $a; // Muestra un 2
Funciones
Argumentos por defecto
function muestranombre ($titulo = "Sr.")
{
print "Estimado $titulo:n";
}
muestranombre ();
muestranombre ("Prof.");
Salida:
Estimado Sr.:
Estimado Prof.:
Funciones
Los argumentos con valores por defecto deben ser siempre los últimos:
function muestranombre ($nombre, $titulo= "Sr.")
{
print "Estimado $titulo $nombre:n";
}
muestranombre (Fernández);
muestranombre (Fernández, "Prof.");
Salida:
Estimado Sr. Fernández:
Estimado Prof. Fernández:
Tablas
Sintaxis:
array ([clave =>] valor, …)
La clave es una cadena o un entero no negativo. El valor puede ser de cualquier tipo válido en PHP, incluyendo otro array
Ejemplos:
$color = array (rojo=>101, verde=>51, azul=>255);
$medidas = array (10, 25, 15);
Acceso:
$color[rojo] // No olvidar las comillas
$medidas[0]
El primer elemento es el 0
Tablas
La estructura de control foreach permite iterar sobre arrays
Sintaxis:
foreach (expresión_array as $valor)sentencia
foreach (expresión_array as $clave => $valor)sentencia
Ejemplos:
foreach ($color as $valor)
print Valor: $valor< BR>n;
foreach ($color as $clave => $valor)
print Clave: $clave; Valor: $valor< BR>n;
Salida:
Valor: 101
Valor: 51
Valor: 255
Clave: rojo; Valor: 101
Clave: verde; Valor: 51
Clave: azul; Valor: 255
Bibliotecas de funciones
Existen muchas bibliotecas de funciones en PHP
Algunos ejemplos:
Funciones de manipulación de cadenas
Funciones de fecha y hora
Funciones de arrays
Funciones de ficheros
Funciones matemáticas
Funciones de bases de datos
Funciones de red
Algunas bibliotecas requieren la instalación de componentes adicionales
Todas las funciones de biblioteca están comentadas en la documentación de PHP
Bibliotecas de funciones
Funciones de manipulación de cadenas
explode()
Divide una cadena en subcadenas
array explode (string separator, string string [, int limit])
rtrim(), ltrim(), trim()
Eliminan caracteres a la derecha, a la izquierda o por ambos lados de una cadena
string rtrim ( string str [, string charlist])
strstr()
Busca la primera ocurrencia de una subcadena
strtolower() / strtoupper()
Convierte una cadena a minúscula / mayúscula
strcmp() / strcasecmp()
Compara dos cadenas con/sin distinción de mayúsculas
strlen()
Calcula la longitud de una cadena
Bibliotecas de funciones
Funciones de fecha y hora
date()
Formatea una fecha según un formato dado
Ejemplo:
$fecha = date ("j/n/Y H:i");
print ("$fecha");
Resultado:
26/9/2005 17:36
strtotime()
Convierte una fecha en un timestamp de UNIX
Ejemplo:
$fecha = date ("j/n/Y", strtotime(5 april 2001"));
print ("$fecha");
Resultado:
5/4/2001
Bibliotecas de funciones
Funciones de arrays
array_count_values()
Calcula la frecuencia de cada uno de los elementos de un array
array_search()
Busca un elemento en un array
count()
Cuenta los elementos de un array
sort(), rsort()
Ordena y reindexa un array (r=decreciente)
ksort(), krsort()
Ordena por claves un array (r=decreciente)
Bibliotecas de funciones
Ejercicio 3: programa que muestra la fecha actual
Ilustra cómo usar comentarios, tablas y funciones (propias y de biblioteca). También cómo usar el manual de PHP
Página anterior | Volver al principio del trabajo | Página siguiente |