PHP es sensible a las mayúsculas
.- ¿Cómo se incrusta en la página web?
<?PHP ... ?>
recomendado, siempre disponible
<?= expresión ?>
equivale a <? echo expresión ?>
.- Las instrucciones se separan con un (;)
.- La marca final ?> implica un(.)
.- La marca final ?> implica un(.)
.- Comentarios: /* … */ (varias líneas)
y // (una línea)
/*Comentario de
varias líneas */
print “hola”; // Comentario de una línea
.- Para imprimir: echo y print
echo: muestra una o más cadenas
echo cadena1 [, cadena2…];
echo “Hola mundo”;
echo “Hola “, “mundo”;
print: muestra una cadena
print cadena;
print “Hola mundo”;
print “Hola “ . “mundo”;
Ejemplo:
<HTML>
<HEAD>
<HEAD>
<TITLE>Mi primer programa en PHP</TITLE>
</HEAD>
<BODY>
<?PHP
print (“<P>Hola mundo</P>”);
?>
</BODY>
</HTML>
Uso de \n para generar código HTML legible
a) Sin \n
Tipos de datos
.- PHP soporta 8 tipos de datos primitivos:
–Tipos escalares: boolean, integer, double, string
–Tipos compuestos: array, object
–Tipos especiales: resource, NULL
.- Funciones de interés:
– La función gettype() devuelve el tipo de una variable
– Las funciones is_type comprueban si una variable
es de un tipo dado:
is_array(), is_bool(), is_float(), is_integer(), is_null(),
is_numeric(), is_object(), is_resource(), is_scalar(),
is_string()
– La función var_dump() muestra el tipo y el valor de
una variable. Es especialmente interesante con los
arrays
– Las funciones is_type comprueban si una variable
es de un tipo dado:
is_array(), is_bool(), is_float(), is_integer(), is_null(),
is_numeric(), is_object(), is_resource(), is_scalar(),
– La función var_dump() muestra el tipo y el valor de
una variable. Es especialmente interesante con los
arrays
.- Tipo integer (números enteros) –27, -5, 0
.- Tipo double (números reales) –1.234, -5.33
.- Tipo boolean (lógico)
–Valores: true, false (insensibles a las mayúsculas)
–El 0 y la cadena vacía tienen valor false
.- Tipo string:
–Las cadenas se encierran entre comillas simples o
dobles:
•‘simples’: admite los caracteres de escape \’
(comilla simple) y \\ (barra). Las variables NO se expanden
•“dobles”: admite más caracteres de escape, como
\n, \r, \t, \\, \$, \”. Los nombres de variables SÍ se expanden
•Ejemplos:
$a = 9;
print ‘a vale $a\n’;
// muestra a vale $a\n
print “a vale $a\n”;
// muestra a vale 9 y avanza una línea
print “<IMG SRC=‘logo.gif’>”;
// muestra <IMGSRC=‘logo.gif’>
print “<IMG SRC=\”logo.gif\”>”;
// muestra <IMGSRC=“logo.gif”>
–Acceso a un carácter de la cadena:
•La forma es $inicial = $nombre{0};
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: $valor\n”; // ojo: comillas dobles
Resultado:
El valor es: 5
.- 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 $hola\n";
print "$a ${$a}";
Resultado:
hola mundo
hola mundo
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: .=
Estructuras de control
- Estructuras selectivas:
–if-else
–switch
.-Estructuras repetitivas:
–while
–for
–foreach
.- Estructura selectiva if-else
.- 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
}
Funciones
Ejemplo:
function suma ($x, $y)
{
$s = $x + $y;
return $s;
}
$a=1;
$b=2;
$c=suma ($a, $b);
print $c;
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
Argumentos por defecto
function muestranombre ($titulo = "Sr.")
{
print "Estimado $titulo:\n";
}
muestranombre ();
muestranombre ("Prof.");
Salida:
Estimado Sr.:
Estimado Prof.:
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
La estructura de control foreach permite literar 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.
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
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)
(r=decreciente)