Sie sind auf Seite 1von 24

Introduccin

PHP es un lenguaje de programacin interpretado, diseado originalmente para


la creacin de pginas web dinmicas. Es usado principalmente en
interpretacin del lado del servidor (server-side scripting) pero actualmente
puede ser utilizado desde una interfaz de lnea de comandos o en la creacin
de otros tipos de programas incluyendo aplicaciones con interfaz grfica
usando las bibliotecas Qt o GTK+.
PHP es un acrnimo recursivo que significa PHP Hypertext Pre-processor
(inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado
originalmente por Rasmus Lerdof en 1994; sin embargo la implementacin
principal de PHP es producida ahora por The PHP Group y sirve como el
estndar de facto para PHP al no haber una especificacin formal. Publicado
bajo la PHP License, la Free Software Foundation considera esta licencia como
software libre. PHP es un lenguaje interpretado de propsito general
ampliamente usado y que est diseado especialmente para desarrollo web y
puede ser embebido dentro de cdigo HTML.
Generalmente se ejecuta en un servidor web, tomando el cdigo en PHP como
su entrada y creando pginas web como salida. Puede ser desplegado en la
mayora de los servidores web y en casi todos los sistemas operativos y
plataformas sin costo alguno. PHP se encuentra instalado en ms de 20
millones de sitios web y en un milln de servidores, aunque el nmero de sitios
en PHP ha declinado desde agosto de 2005. Es tambin el mdulo Apache ms
popular entre las computadoras que utilizan Apache como servidor web. La
ms reciente versin principal del PHP fue la versin 5.2.6 de 1 de mayo de
2008.
1. Sintaxis bsica
Objetivo particular: Al finalizar el tema, el participante ser capaz de
conocer la sintaxis bsica y particularidades del lenguaje PHP.
Introduccin: PHP es un lenguaje de programacin muy poderoso y a la vez
sencillo de utilizar, gracias a esto se debe la gran popularidad que ha tenido los
ltimos aos y an sigue evolucionando.
Para crear un documento en PHP primeramente se escriben los delimitadores
<?php y ?>. La extensin para los archivos de PHP es .php.
1.1 Comentarios
Existen 3 tipos de comentarios en PHP:
//Comentario para una lnea.
############
#Comentario
############
/*
*Comentarios para
*varias lneas
*/

1.2 Declaracin de variables


Para crear una variable en PHP simplemente se escribe un $ seguido del
nombre de la variable, por ejemplo:
$a = 1; $fruta = Manzana;
$MiVariable = Valor;
PHP diferencia entre maysculas y minsculas en las variables. Las variables
no pueden comenzar con nmero, no pueden tener espacio, sin comas ni
caracteres especiales.
$valor actual [MAL]
$#Datos X [MAL]
$2Saldos X [MAL]
$Prueba, Valor [MAL]
Cuando utilizamos comillas dobles, podemos incluir dentro de la cadena
nombres de variables que sern evaluados (sustituidos por sus respectivos
valores) a la hora de mostrar la informacin. Si introducimos nombres de
variables dentro de una cadena encerrada entre comillas simples, la variable
no ser evaluada.
1.3 Variables predefinidas
$PHP_SELF;
$_COOKIES;
$_GET;
$_POST;
$_SERVER;
$_SESSION;
$_FILES;
1.4 Tipos de datos
En PHP existen todos los tipos de datos: numrico, decimal, boolean, string,
array, objeto, etc.
La ventaja de PHP sobre otros lenguajes es que no es necesario declarar las
variables para poderlas utilizar, simplemente se crean cuando se desean usar.
PHP cuenta con un convertidor automtico de tipos de datos, es decir PHP
puede hacer sin ningn problema la siguiente operacin y no marcara ningn
error:
$a = 3; //valor numrico.
$b = 5; //valor string.
echo ($a + $b) //Imprime 8.
1.4.1 Cadenas
Para crear un valor tipo cadena (string) simplemente se escribe el contenido de
la variable entre comillas dobles () o comillas simples ().
$nombre = Carlos;
$apellido = Santana;
echo $nombre.$apellido; //Imprime: Carlos Santana

Cdigo de escape Significado


\b Espacio hacia atrs (backspace).
\f Cambio de pgina (form feed).
\n Cambio de lnea (line feed).
\r Retorno de carro (carriage return)
\t Tabulacin
\ Comilla simple
\ Comilla doble
1.4.2 Arrays
Los arrays o matrices son estructuras que permiten el almacenamiento de un
conjunto de datos bajo un mismo nombre; son una construccin tradicional de
los lenguajes de programacin. Podemos definir un array como un conjunto
ordenado de elementos identificados por un ndice (la posicin del elemento
dentro de esta coleccin ordenada), de modo que en cada posicin marcada
por un ndice el array contiene un valor. Se pueden construir tantos ndices
como se quiera, aunque el uso habitual de los arrays es en forma de matriz
unidimensional. La longitud del array se modifica de forma dinmica siempre
que le aadimos un nuevo elemento.
En PHP, los arrays pueden estar compuestos de elementos de diferente
naturaleza y su primer ndice o posicin es la 0. Adems, existen unos arrays
especiales en PHP denominados asociativos en los que el ndice es un valor
de tipo string, de modo que cada posicin est definida por el par (clave,
valor), pudiendo acceder al contenido (valor) a travs de la clave.
Ejemplo de array escalar:
<?php
$array[0] = Mi Nombre;
$array[1] = es Carlos y tengo;
$array[2] = 20 aos;
$array[] = y estudio telemtica; //Lo insertara en la posicin 3.
for($i = 0; $i <= count($array) 1; $i++) {
echo $array[$i]. ;
}
?>
Ejemplo de array asociativo:
<?php
$array[Nombre] = Mi Nombre;
$array[Es] = es Carlos y tengo;
$array[Tengo] = 20 aos ;
$array[Estudio] = y estudio telemtica; //Lo insertara en la posicin 3.
echo $array[Nombre].$array[Es].$array[Tengo].$array[Estudio];
?>
1.5 Funciones para variables

Gettype (variable): Devuelve el tipo de dato pasado como parmetro,


pudiendo devolver como valor: integer, float, string, array, class, object y
unknown type.
Settype (variable, tipo): Establece el tipo de dato a guardar en una variable.
Con esta funcin podemos realizar conversiones de un tipo de datos a otros.
Devolver true si ha tenido xito; en caso contrario devolver false.
Isset (variable): Indica si una variable ha sido inicializada con un valor, en
cuyo caso devuelve true, y en caso contrario false.
Unset (Variable): Destruye una variable liberando los recursos dedicados a
dicha variable. Es necesario indicar como parmetros el nombre de la variable
a destruir.
Empty (variable): Devuelve true si la variable an no ha sido inicializada o
bien tiene un valor de 0 o es una cadena vaca y, en caso contrario devuelve
false.
Is_Int (variable), is_integer (variable), is_long (variable): Estas funciones
devuelven true si la variable pasada como argumento es de tipo integer; caso
contrario devuelve false.
Is_float (var), is_real (var), is_double (var): Estas funciones regresan true
si la variable es de tipo float; caso contrario regresa false.
Is_numeric (var): True si es un nmero o cadena numrica.
Is_bool (var): True si la variable es de tipo lgico.
Is_array (var): True si la variable es un array.
Is_string (var): True si la variable es de tipo string.
Is_object (var): True si la variable es un objeto.
Intval (var, base), floatval (var), strval (var): Estas funciones sirven para
realizar conversiones de tipos (casting), de modo que convierten a integer,
float, o string, respectivamente, el valor de la variable que se le pasa como
parmetro. En particular, la funcin intval() puede recibir adems un segundo
parmetro que representa la base a utilizar en la conversin (10 = decima, 8 =
octal y 16 = hexadecimal), tomando por defecto la base 10 de los nmeros
decimales.
1.6 Constantes
Una constante es una variable que mantiene el mismo valor durante la
ejecucin del programa. Se puede asegurar que la constante mantiene siempre
el mismo valor; en ninguna parte del script se puede cambiar el valor de una
constante una vez que se define. De hecho, los intentos de cambio provocan
errores.

Define (constante, valor): Esta funcin nos permite crear una constante
asignndole su nombre y su valor a travs de los parmetros que recibe.
Defined (constante): Esta funcin devuelve true si la constante est definida
y existe.
1.6.1 Constantes Predefinidas
Constante Significado
PHP_VERSION Cadena que representa la versin del intrprete de PHP en uso.
PHP_OS Cadena con el nombre del sistema operativo con el que se est
ejecutando el intrprete de PHP.
TRUE Verdadero.
FALSE Falso.
E_ERROR Informacin sobre errores distintos a los de interpretacin del cual
no es posible recuperarse.
E_PARSE Informa que el intrprete encontr una sintaxis invlida en el archivo
de comandos. Finaliza la ejecucin.
E_NOTICE Informa que se produjo algo incorrecto que puede provenir o no de
un error. La ejecucin contina.
E_WARNING Denota un error que no impide que contine la ejecucin.
E_ALL Conjunto con todos los errores que se han producido.
1.7 Operadores
Los operadores en PHP son muy parecidos a los de otros lenguajes como C,
Java y Javascript.
Se utilizan para determinar un valor, o bien, para obtener un valor final a partir
de uno o ms operandos. Podemos encontrar varios tipos de operadores.
1.7.1 Operadores Aritmticos
Estos operadores funcionan igual que en la aritmtica bsica y se pueden
aplicar a las variables y constantes numricas. Son los siguientes:
Operador Ejemplo Descripcin
+ $a + $b Suma dos operandos.
- $a - $b Resta dos operandos.
* $a * $b Multiplica dos operandos.
/ $a / $b Divide dos operandos.
% $a % $b Resto de la divisin entera
1.7.2 Operadores de asignacin
El operador de asignacin ms utilizado es =; su funcin bsica es asignar un
valor a una variable, para que de este modo se pueda conservar dicho valor en

memoria. El operador de asignacin es un operador binario que siempre toma


la forma: Variable = Expresin
Este operador de asignacin hace que la variable de la izquierda tome el valor
de la expresin de la derecha. PHP soporta otros operadores de asignacin, que
realmente son una combinacin del operador de asignacin bsico con
operadores aritmticos y con el operador de concatenacin de cadenas.
Operador Ejemplo Descripcin
= $a = $b $a toma el valor de $b
+= $a += $b Equivale a: $a = $a + $b
-= $a -= $b Equivale a: $a = $a - $b
*= $a *= $b Equivale a: $a = $a * $b
/= $a /= $b Equivale a: $a = $a / $b
%= $a %= $b Equivale a: $a = $a % $b
.= $a .= $b Equivale a: $a = $a . $b
1.7.3 Incremento y decremento
Al igual que otros lenguajes de programacin como C, PHP soporta operadores
especficos para incrementar y decrementar el valor de las variables. Adems,
el momento de su ejecucin depender de la posicin en la que aparezcan
respecto de la variable a la que son aplicados.
Operador Ejemplo Descripcin
++
++$a
$a++
Preincremento: Incrementa $a en uno y despus devuelve $a.
Postincremento: Devuelve $a y despus incrementa en uno $a.
---$a
$a-Predecremento: Decrementa $a en uno y despus devuelve $a.
Postdecremento: Devuelve $a y despus Decrementa en uno $a.
1.7.4 Operadores de comparacin
Operador Ejemplo Descripcin
== $a == $b Los operandos son iguales.
!= $a != $b Los operandos son distintos.
=== $a === $b Los operandos son idnticos: iguales y del mismo tipo.
!== $a !== $b Los operandos no son iguales o del mismo tipo.
< $a < $b El operando de la izquierda es menor que el operando de la
derecha.
> $a > $b El operando de la izquierda es menor o igual que el operando de la
derecha.

.<= $a <= $b El operando de la izquierda es menor o igual que el de la


derecha.
>= $a >= $b El operando de la izquierda es mayor o igual que el de la
derecha.
1.7.5 Operadores lgicos
Los operadores lgicos (tambin llamados operadores booleanos) se utilizan
conjuntamente con expresiones que devuelven valores lgicos. Con estos
operadores se pueden combinar varias condiciones y evaluarlas en una sola
expresin.
Operador Ejemplo Descripcin
&&
and
$a && $b
$a and $b
$a y $b son ambos true.
||
or
$a || $b
$a or $b
$a o $b son true.
!
! $a
$a es false, niega el valor lgico de la variable.
Xor $a xor $b $a es true o $b es true, pero no lo son los dos a la vez.
2 Estructuras de control
Las estructuras de control o sentencias de control nos permiten modificar el
flujo de ejecucin bsico del programa, es decir, gracias a ellas la ejecucin no
tiene por qu ser totalmente secuencial, vamos a poder controlar el flujo lgico
de cualquier programa. Estas estructuras nos permiten bifurcar el flujo del
programa y as ejecutar unas partes u otras del cdigo segn se cumplan una
serie de condiciones, hacer que un determinado cdigo no llegue a ejecutarse
nunca o que lo haga tantas veces como queramos.
2.1 Sentencias condicionales
Son las estructuras de control ms sencillas, se basan en el uso de la sentencia
ifelse y en las diferentes formas que sta puede presentar. Utilizando estas
sentencias, somos capaces de hacer que el programa elija entre dos caminos
de ejecucin diferentes en funcin de la evaluacin de una expresin lgica.
2.1.1 If
Es una de las ms utilizadas e importantes en la mayora de los lenguajes de
programacin. Su sintaxis es la siguiente:

If (condicin) {
[sentencias]
}
El intrprete de PHP lo que hace es evaluar la condicin, que debe ser una
expresin lgica y, si resulta verdadera, se ejecutarn las sentencias
comprendidas entre las llaves { y } y, si es falsa, PHP ignorar las
sentencias y seguir con la ejecucin normal del programa, es decir, nos
permite tomar decisiones en torno a una condicin.
Las sentencias if se pueden anidar, es decir, podemos poner dentro de un
bloque if otras sentencias if, lo cual proporciona una flexibilidad completa para
ejecuciones condicionales.
<?php
$a = 3;
$b = 7;
$c = 9;
echo El numero mayor es:;
if($a > $b) {
if($a > $c) {
echo $a;
}
}
if($b > $a) {
if($b > $c) {
echo $b;
}
If ($c > $b) {
echo $c;
}
}
?>
2.1.2 If else
La sentencia ifelse consta de un bloque if que se ejecuta cuando la expresin
se evala a true y de un bloque else cuyas instrucciones se ejecutarn cuando
se evala a false. La sintaxis de la instruccin ifelse es la siguiente:
If (expresin) {
[sentencias]
} else {
[sentencias]
}
2.1.3 Ifelseif
Hay muchas ocasiones en que se quiere evaluar una nueva comprobacin
utilizando una sentencia if dentro del cuerpo de una sentencia else; para estos
casos se puede utilizar la sentencia elseif que nos permite combinar ambas
sentencias en una sola. La sintaxis de la sentencia ifelseif es la siguiente:

If(expresin) {
[sentencias]
} elseif(expresin) {
[sentencias]
} elseif(expresin) {
[sentencias]
} else {
[sentencias]
}
Ejemplo:
<?
echo Hoy es: ;
$dia = date(D);
if($dia == Mon) echo Lunes;
elseif($dia == Tue) echo Martes;
elseif($dia == Wed) echo Mircoles;
elseif($dia == Thu) echo Jueves;
elseif($dia == Fri) echo Viernes;
elseif($dia == Sat) echo Sbado;
else echo Domingo;
?>
2.1.4 If compacto
PHP utiliza dos operadores (? y :) para formar expresiones condicionales
que devolvern uno de dos posibles valores basndose en el valor lgico
obtenido al evaluar una expresin. La sintaxis de estos operadores es:
<expresion1> ? <expresion2> : <expresion3>;
De este modo considerando expresin1, si sta se evala a true, entonces de
devolvera la evaluacin de expresin2; en caso contrario, el valor devuelto
sera el resultado de evaluar la expresin3.
<?php
$a = 3;
$b = 7;
$c = 9;
$mayor = ($a > $b) ? $a : $b;
echo El mayor es;
echo ($mayor < $c) ? $c : $mayor;
?>
2.1.5 Switch
La sentencia switch se utiliza para compara un dato con un conjunto de
posibles valores. Esta tarea se puede realizar utilizando mltiples sentencias if
o con una sentencia ifelseif mltiple, pero la sentencia switch es mucho ms
legible y nos permite especificar un conjunto de sentencias por defecto, en el
caso de que el dato no tenga un valor con que compararlo.

Switch($variable) {
case valor N: [sentencias]
[break;]
[default: sentencias; ]
}
Ejemplo:
<?php
echo Hoy es: ;
$dia = date(D);
switch($dia) {
case Mon: echo Lunes; break;
case Tue: echo Martes; break;
case Wed: echo Mircoles; break;
case Thu: echo Jueves; break;
case Fri: echo Viernes; break;
case Sat: echo Sbado; break;
default: echo Domingo;
}
?>
2.1.6 For
Esta instruccin nos permite realizar un conjunto de instrucciones un
determinado nmero de veces. Es una de las estructuras de control
sintcticamente ms compleja de PHP.
For ([inicializacin]; [condicin]; [bucles]) {
[sentencias]
}
Las tres expresiones cerradas entre parntesis son opcionales, pero es
necesario escribir los caracteres punto y coma (;) que las separan aunque las
expresiones se omitan, para que cada expresin permanezca en el lugar
apropiado.
<?
echo La suma de los 10 primeros nmeros enteros es: ;
$suma = 0;
for($i = 1; $i <= 10; $i++) {
$suma += $i;
echo $i;
if($i == 10) echo =;
else echo +;
}
echo <strong>$suma</strong>;
?>
2.1.7 Foreach

Esta sentencia nos permite recorrer las estructuras de tipo array de una forma
sencilla, obteniendo en cada paso de la iteracin uno de sus elementos
componentes. Tambin se suele utilizar para traducir tablas de tipo hash.
Foreach($array as $variable) {
[sentencias]
}
Lo que hace el bucle es recorrer cada uno de los elementos del array que tiene
por nombre $array, asignado en cada paso el valor del elemento actual del
array al contenido de la variable $variable. El bucle hace uso de un puntero
interno que apunta a la posicin actual del array (comenzando por la primera y
siguiendo en orden ascendente) y que va actualizando de forma automtica en
cada una de las iteraciones.
<?php
$array=array("Manzana","Pera","Platano");
reset($array);
foreach ($array as $fruta){
echo "Fruta:$fruta<br>\n";
}
?>
Tambin est funcin se puede aplicar a un array de tipo asociativo, en el que
el ndice en cada elemento no es de tipo numrico.
$a=array(
"uno"=>1,
"dos"=>2,
"tres"=>3,
"diecisiete"=>17
);
foreach($a as $k=>$v){
echo $a[$k]=>$v;
}
2.1.8 While
La sentencia while acta de forma muy parecida a la sentencia for, pero se
diferencia de sta en que no incluye en su declaracin la inicializacin de la
variable de control del bucle ni su incremento o decremento. Por tanto dicha
variable se deber declarar antes del bucle while y su incremento y
decremento se deber realizar dentro del cuerpo de dicho bucle.
While (condicin) {
[sentencias]
}
Con esta instruccin se va a poder ejecutar un conjunto de instrucciones un
indeterminado nmero de veces, siempre y cuando el resultado de comprobar
la condicin sea verdadera (debe ser una expresin que se evale a un valor

lgico). Si la condicin se evala a true, se ejecutan las sentencias del cuerpo


del bucle; despus de ejecutarlas, se volver a evaluar la condicin, de forma
que, si sta sigue cumplindose, se volvern a ejecutar las sentencias.
Esto se repite hasta que la condicin se evala a false, en cuyo caso no se
ejecutarn las sentencias del cuerpo del bucle y continuar la ejecucin del
script por la instruccin siguiente a la sentencia while.
<?php
/* ejemplo 1 */
$i = 1;
while ($i <= 10) {
print $i++; /* el valor impreso sera
$i antes del incremento
(post-incremento) */
}
/* ejemplo 2 */
$i = 1;
while ($i <= 10):
print $i;
$i++;
endwhile;
?>
Los bucles do...while son muy similares a los bucles while, excepto que las
condiciones se comprueban al final de cada iteracin en vez de al principio. La
principal diferencia frente a los bucles regulares while es que se garantiza la
ejecucin de la primera iteracin de un bucle do...while (la condicin se
comprueba slo al final de la iteracin), mientras que puede no ser
necesariamente ejecutada con un bucle while regular (la condicin se
comprueba al principio de cada iteracin, si esta se evala como FALSE desde
el principio la ejecucin del bucle finalizar inmediatamente).
<?php
$i=0;
do{
print $i;
} while($i>0);
?>
2.1.9 Include
Esta funcin incluye y evala un fichero externo cada vez que es interpretada.
Ambos pasos, la inclusin del fichero externo y su posterior evaluacin, se
realizan cada vez que el flujo del programa llega a una lnea que contenga la
llamada a esta funcin. En caso de que el fichero a incluir no exista o su
referencia sea errnea, la funcin genera un aviso o warning, continuando con
la ejecucin por la siguiente instruccin.
Cuando un archivo se incluye con include(), el intrprete sale del modo PHP y
entra en modo HTML al principio del archivo referenciado, y vuelve de nuevo al

modo PHP al acabar de leer dicho archivo. Por esta razn, cualquier cdigo
dentro del archivo referenciado que debiera ser ejecutado como cdigo PHP
debe ser encerrado dentro de etiquetas vlidas de comienzo y fin de PHP.
variables.php
<?php
$color='verde';
$fruta='manzana';
?>
prueba.php
echo "Una $fruta $color";//Una
include 'variables.php';
echo "Una $fruta $color"; //Una Manzana Verde
2.1.10 Require
La sentencia require() incluye y evala el archivo especificado. Require() e
include() son idnticas en todos los aspectos excepto en el modo de actuar
ante un error. include() produce un Warning mientras que require() produce
un Error Fatal. En otras palabras, no dude en utilizar require() si quiere que un
fichero no encontrado cuelgue el procesamiento de la pgina.
include() no se comporta de esta manera, el script seguir funcionando de
todas maneras.
Asegurarse que include_path este configurado bien.
3 Cadenas
Echo (cadena), print (cadena): No son funciones propiamente dichas, sino
construcciones del lenguaje. Ambas muestran informacin por la salida
estndar; no soportan ningn atributo de formato de salida y slo admiten una
nica cadena como argumento en su llamada (cuando necesitamos pasar ms
de un argumento a cualquiera de estas funciones, deberemos utilizar las
comillas).
Printf (formato [, argumentos]): Imprime informacin por la salida estndar
soportando diferentes formatos de salida. Admite mltiples tipos de
argumentos a visualizar. Imprime una cadena cuyo estructura depende del
formato descrito en el argumento formato. Esta cadena est formada por una
ristra de caracteres, algunos de los cuales se mostrarn directamente,
mientras que otros, los que van precedidos por el carcter %, conocidos
como especificaciones de conversin, son utilizados para formatear la
informacin.
Strlen(cadena): Devuelve la longitud de la cadena pasada como argumento.
Strstr(cadena, cadBusq), strchr(cadena, cadBusq): Busca la aparicin de
una cadena dentro de otra y devuelve la subcadena comprendida entre la
primera aparicin de la cadena buscada (incluyndola) hasta el final de la

cadena en la que se realiza la bsqueda. La bsqueda diferencia entre


maysculas y minsculas.
Strrchr(cadena, cadBusq): Busca la aparicin de un carcter en una cadena
y devuelve la subcadena. Si el elemento a buscar no es una cadena, se
convierte a entero y se aplica como el valor ordinal de un carcter.
Stristr(cadena, cadBusq): Es igual a strstr(), salvo que no diferencia entre
maysculas y minsculas.
Strpos(cad1, cad2 [, desplz]): Encuentra la primera posicin de aparicin de
una cadena a partir de una cierta posicin (si no se indica, el valor por defecto
para el desplazamiento es 0).
Strspn(cadena, mscara): Obtenemos la longitud de la subcadena ms larga
que est formada slo por caracteres contenidos en una mscara. Una vez
encontrado un carcter que no est en la mscara se abandona la bsqueda.
Strcmp(cad1, cad2): Compara dos cadenas y devuelve un valor menor que
0, si la segunda cadena es mayor que la primera, si la segunda es mayor a la
primera; mayor que 0, en caso contrario, y 0, si ambas son iguales.
Substr(cadena, inicio [, tamao]): Devuelve la subcadena que se
encuentra a partir de una posicin dada y llega hasta el final de la cadena
original, pudiendo de forma opcional decidir el tamao de la subcadena a
recuperar.
Substr_replace(cad1, cad2, inicio [, tamao]): Devuelve una cadena que
es resultado de la sustitucin de parte del contenido de una cadena original
(indicado por una posicin de inicio y opcionalmente por un tamao) por el
contenido de otra cadena. La cadena original no sufre ninguna modificacin.
Str_replace(cadBus, CadRee, Cadena): Devuelve una cadena, que es
resultado de la sustitucin de todas las apariciones de una subcadena, por otro
contenido en la cadena original.
Substr_count(cadena, patrn): Devuelve el nmero de apariciones de una
subcadena dentro de una cadena.
Chop(Cadena): Devuelve la cadena argumento sin los espacios en blanco y
caracteres de fin de lnea que se encuentran al final de la cadena.
Ltrim(cadena): Elimina espacios en blanco que se encuentran al principio de
una cadena de texto.
Trim(cadena): Elimina los espacios en blanco que se encuentran al principio y
al final de una cadena de texto.

Str_pad(cadena, long): Rellena una cadena con un carcter de relleno (por


defecto, es el espacio en blanco) hasta que la cadena resultante tenga la
longitud deseada.
Strtolower(cadena): Convierte una cadena de caracteres a minsculas.
Strtoupper(cadena): Convierte una cadena de caracteres a maysculas.
Ucfirst(cadena): Se encarga de convertir a mayscula el primer carcter de
una cadena de caracteres, siempre que ste sea alfabtico.
Ucwords(cadena): Se comporta igual que la funcin anterior, salvo que sta
convierte a maysculas el primer carcter de cada palabra que compone la
cadena, siempre y cuando sean caracteres alfanumricos.
Addslashes(cadena): Devuelve una cadena de caracteres igual que la
original en la que se han escapado los caracteres especiales comillas dobles
(), comillas simples () y barra invertida (\).
Split(patrn, cadena): Devuelve un array resultado de dividir una cadena en
diferentes subcadenas. El nmero total de elementos del array puede ser
elegido a travs de un parmetro opcional.}
Explode(patrn, cadena): Devuelve un array resultado de dividir una cadena
en diferentes cadenas.
Implode(nexo, cadena): Devuelve una cadena resultado de unir todos los
elementos de un array en el mismo orden en el que aparecen, pero con una
cadena en medio de ellos.
Htmlspecialchars(cadena): Se encarga de convertir los caracteres con un
significado especial en HTML.
Htmlentities(cadena): Es similar a la funcin htmlspecialchars(), salvo que
esta funcin traduce todos los caracteres a su correspondiente entidad en
HTML.
4 Arrays
Constructor
Otra forma de definir arrays es utilizar el constructor array() proporcionado por
el lenguaje. Este constructor no es una funcin regular; tiene la siguiente
definicin:
Array array (mixed valores, )
Ejemplo:
$vector = array(Carro, Moto, Bicicleta);
echo $vector[0]; //Carro;
echo $vector[1]; //Moto;
echo $vector[2]; //Bicicleta;

El constructor array() tambin nos permite asignar los elementos del array en
el orden en que queramos. Para ello, indicamos el ndice, seguido del smbolo
=> y el valor del elemento.
Ejemplo:
$vector = array(2 => Manzana, 0 => Platano, Pera);
Los elementos a los que no se les asigna explcitamente un ndice toman la
posicin secuencial relativa a la ltima asignacin de posicin dentro del array.
Arrays Asociativos
A diferencia de los arrays simples, los arrays asociativos (tambin conocidos
como tablas hash o arrays indexados por cadena) estn formados por un
conjunto de valores que estn ordenados respecto a un ndice de tipo string, es
decir, una cadena de caracteres.
De igual manera que ocurre con los arrays simples, podemos utilizar el
constructor del lenguaje array() para definirlos, o bien, hacerlo especificando
de forma explcita cada uno de sus componentes.
Ejemplo:
$vector = array(animal => Perro, nombre => Valiente, raza =>
Labrador,
sexo => Masculino);
Arrays Multidimensionales
PHP nos permite definir arrays multidimensionales mediante la combinacin de
arrays unidimensionales (que pueden ser tanto de tipo escalar, como
asociativos).
Ejemplo:
$matriz[0][0] = Salud;
$matriz[0][1] = Dinero;
$matriz[1][0] = Amor;
$matriz[1][1] = Sexo;
$matriz[peso][moneda] = Pesos;
$matriz[peso][cambio] = 10;
$matriz[dolar][moneda] = Dlar;
$matriz[dolar][cambio] = 0.1;
Funciones para arrays
Current(array): Devuelve el valor de la posicin actual del puntero dentro del
array: todos los arrays tienen un puntero interno que apunta a la posicin del
elemento actual con el que se est trabajando en un momento dado.
Key(array): Devuelve el ndice de la posicin actual del array pasado como
argumento.
Next(array): Devuelve el valor del elemento siguiente al actual (si existe) y
avanza el puntero interno una posicin.

Prev(array): Devuelve el valor del elemento anterior al actual (si existe) y


retrocede el puntero interno una posicin.
End(array): Coloca el puntero interno en el ltimo elemento de un array
escalar.
Reset(array): Devuelve el valor del primer elemento del array y sita el
puntero interno en su primera posicin.
Each(array): Se usa para recorrer arrays (sobre todo los asociativos), pues
devuelve un par de valores correspondientes a la clave y al valor asociado a
esa clave.
List(array): Asigna una lista de variables en una sola operacin. Suele
utilizarse en combinacin con la funcin each().
Array_keys(array): Devuelve las claves que forman el array matriz. Admite
un parmetro opcional que nos permite seleccionar slo las claves cuyo valor
coincida con un patrn dado.
Array_values(array): Devuelve los valores que forman parte del array pasado
como parmetro.
Sort(array): Ordena alfanumricamente los valores de los elementos de un
array de menor a mayor. Para ordenar de manera inversa, disponemos de la
funcin rsort(array).
Asort(array): Ordena alfanumricamente los valores de los elementos de un
array de mayor a menor, pero manteniendo la relacin existente entre los
ndices y sus valores asociados. Arsort(array) realiza la ordenacin inversa.
Ksort(array): Ordena alfanumricamente las claves de un array de menor a
mayor manteniendo las correlaciones entre clave y valor asociado.
Krsort(array) realiza la ordenacin inversa.
Array_merge(array1, array2): Combina en un solo array los valores de los
arrays que recibe como argumentos.
Array_pad(array, tamao, relleno): Devuelve un array igual a matriz, pero
modificando su nmero de elementos hasta alcanzar la longitud deseada
(tamao) aadiendo nuevos elementos por la derecha (tamao es positivo) o
por la izquierda (tamao es negativo). Array_slice(array, desplazamiento [,
int tamao]): Devuelve los elementos del array que estn situados a partir de
una posicin determinada por desplazamiento. Opcionalmente, podemos
indicar el total de elementos que queremos.
Array_splice(array, desplz [,tam [array substituto]]): Elimina elementos
de un array, sustituyndolos opcionalmente por los elementos de otro array
(substituto).

Array_push(array, valor1 [, valor2, ]): Inserta uno o ms elementos al


final del array (pila).
Array_pop(array): Devuelve y elimina el ltimo elemento del array (el que
corresponde con la cima de la pila).
Array_shift(array): Devuelve y elimina el primer elemento del array (el que
corresponde con la base de la pila).
Array_unshift(array, valor1 [, valor2, ]): Inserta uno o ms elementos al
principio del array.
Array_reserve(array): Devuelve el array pasado como parmetro, pero con
sus componentes en orden inverso.
Range(limite_inf, limite_sup): Devuelve un array con los valores enteros
comprendidos entre
el primer argumento y el segundo que recibe la funcin, ambos inclusive.
Array_count_values(array): Recibe como argumento un array y devuelve
otro cuyos ndices son los mismos que los del array original y sus valores
asociados son la frecuencia con la que se repiten dichos valores en el array
original.
In_array(elemento_busqueda, array): Con esta funcin podremos saber si
un elemento est contenido dentro de un array.
Compact(): Esta funcin recibe como argumento una lista de variables que
han sido previamente definidas, que pueden aparecer como cadenas de
caracteres o como arrays y devuelve un nuevo array en el que los ndices son
los nombres de las variables y el contenido de los elementos del array son sus
correspondientes valores.
5 Funciones
La sintaxis de la declaracin de una funcin es la siguiente:
Function nombreFuncin([parametro1 [,]]) {
[sentencias]
}
Una vez declarada una funcin, sta no se ejecuta hasta que se le llama desde
cualquier parte del script. Para llamar a una funcin, slo hay que escribir una
sentencia que contenga el nombre de la funcin y, entre parntesis, los valores
de los argumentos de llamada de ella.
<?php
Function cuentaAtras() {
For($i = 10; $i > 0; $i--) {
echo $i.<br />;
}

Echo !Boom!;
}
?>
<?php
cuentaAtras();
?>
En ocasiones, necesitaremos definir funciones que aceptan parmetros o
argumentos. De esta forma conseguimos que la funcin sea ms utilizable
dentro del propsito general para el que est definida.
<?php
Function cuentaAtras($inicio) {
For($i = $inicio; $i>0; $i--)
echo $i.<br />;
echo !Boom!;
}
cuentaAtras(5);
?>
Variables globales son todas aqullas que se definen fuera del cuerpo de una
funcin y son accesibles, en general, desde cualquier punto del cdigo.
En PHP, las variables globales deben ser declaradas globales dentro de la
funcin si van a ser utilizados dentro de dicha funcin, anteponiendo a su
definicin la palabra reservada global. Un segundo mtodo para acceder a las
variables globales desde un mbito local es usando el array $GLOBALS (es un
array asociativo con el nombre de la variable global como clave y los
contenidos de dicha variable como el valor del elemento del array).
Variables locales aparecen definidas dentro del cuerpo de una funcin y slo
pueden ser accedidas desde dentro de esta funcin. Cualquier variable que se
use dentro de una funcin est, por defecto, limitada al mbito local de la
funcin. Esto quiere decir que, si declaramos una variable local con el mismo
nombre que una variable global, dentro de la funcin trabajaremos con la
versin local de la variable.
<?php
$inicio = 0;
$final = 9;
Function cuentaAtras() {
Global $final; #Variable global.
$inicio = 7; #Variable local.
Static $num = 0; #Variable esttica
For(;$inicio>$final;$inicio--)
Echo $inicio.<br>;
$num++;
Echo !Boom -$num-;
}
cuentaAtras(); //$num vale 1.

cuentaAtras(); //$num vale 2.


?>
Del mismo modo que las funciones pueden recibir valores, tambin pueden
devolverlos. La devolucin de un valor desde una funcin trabaja de igual
forma que la devolucin de un valor en una expresin, de manera que el valor
devuelto desde una funcin puede ser asignado a una variable o utilizado
dentro de una expresin. Se puede devolver cualquier tipo de valores
incluyendo listas y objetos, pero slo un nico valor; para devolver mltiples
valores, deberemos utilizar un array.
<?php
Function ElMayor($dato1, $dato2, $dato3) {
$elmayor = ($dato1 > $dato2) ? $dato1 : $dato2;
$elmayor = ($elmayor > $dato3) ? $elmayor : $dato3;
Return $elmayor;
}
Echo El Mayor de 17, 5 y 9 es .ElMayor(17,5,9).;
?>
Se dice que una funcin es recursiva cuando en algn punto de su cuerpo
llama a s misma. Hay que tener cuidado al escribir una funcin recursiva,
que puede ocurrir que se llame a s misma indefinidamente. Por tanto,
esencial asegurarse de implementar una forma adecuada de terminar
recursin: es lo que se denomina como condicin de parada.

se
ya
es
la

La recursin nos sirve para solucionar algunos problemas complejos; un


ejemplo tpico de recursin es hallar el factorial de un nmero.
<?php
Function Factorial($numero) {
If($numero == 0) return 1;
Return $numero * Factorial($numero 1);
}
Function Factor_Iterativo($numero) {
Echo $numero! = ;
For($factorial = 1; $numero > 1; $numero--) {
$factorial *= $numero;
Echo $numero x ;
}
Echo 1 = $factorial;
return $factorial;
}
Echo Factorial(5);
Echo Factor_Iterativo(5);
?>
6 Funciones de fecha y hora
Es muy importante en muchos problemas y aplicaciones llevar un control con la
fecha y la hora en un determinado momento, o bien, conocer la fecha para

saber si tenemos que ejecutar un programa u otro; existen muchas


circunstancias donde es necesario conocer estos datos. PHP nos ofrece una
gran variedad de funciones para abordar con mayor rapidez y de una forma
ms sencilla los distintos problemas relacionados con el manejo de fechas y
tiempos que nos puedan ir saliendo a la hora de realizar nuestros programas.
En casi todos los sistemas informticos hay una fecha de inicio comn, a partir
de la cual se empieza a contar el tiempo. En el caso de los sistemas UNIX la
fecha elegida como comienzo es el da 1 de enero de 1970 a las 00:00:00 GMT,
fecha que se conoce como el principio de la era UNIX. El contador de tiempo se
conoce como marca de tiempo (timestamp) y representa el nmero de
segundos transcurridos desde una fecha dada. En PHP todas las funciones de
fecha/hora que trabajan con marcas de tiempo hacen referencia a esta fecha.
Time(): Obtiene la marca de tiempo UNIX actual.
Checkdate(): Valida una fecha en formato gragoriano.
Date(): Da formato a la hora y la fecha locales.
Getdate(): Obtiene informacin sobre la fecha y hora locales.
Gettimeofday(): Obtiene la hora actual.
Gmdate(): Formatea la fecha y la hora a formato GMT.
Gmmktime(): Obtiene la marca de tiempo UNIX de una fecha con formato
GMT.
Gmstrftime(): Formatea la fecha y hora con formato GMT a las caractersticas
locales.
Microtime(): Obtiene la marca de tiempo UNIX actual en microsegundos.
Mktime(): Obtiene la marca de tiempo UNIX para una fecha dada.
Strftime(): Formatea la hora actual de acuerdo con las caractersticas locales.
Strtotime(): Traduce una fecha u hora descrita en ingls a su correspondiente
marca de tiempo UNIX.
Hay una serie de parmetros que tienen un significado propio y son
reconocidos dentro de la cadena de formato.
Valores Descripcin
a a.m. o p.m.
A A.M. o P.M.
d Da del mes con dos dgitos (de 01 a 31)
D Da de la semana con tres caracteres.
F Nombre del mes
h Hora en formato 01 a 12

H Hora en formato 00 a 23
g Hora en formato 1 a 12 (sin cero)
G Hora en formato 0 a 23 (sin cero)
i Minutos de 00 a 59
j Da del mes en formato 1 a 31 (sin cero)
l Da de la semana, en texto completo
L 1: si es ao bisiesto, 0: si no es un ao bisiesto.
m Mes de 01 a 12
M Mes con tres caracteres
n Mes de 1 a 12
s Segundos de 00 a 59
S Sufijo ordinal en ingls (th, nd)
t Nmero de das del mes dado, de 28 a 31
U Segundos transcurridos desde el valor de inicio (01-01-1970)
w Da de la semana de 0 (domingo) a 6 (sbado)
y Ao con cuatro dgitos
Y Ao con dos dgitos
z Da del ao de 0 a 365
Z Diferencia horaria en segundos de 43200 a 43200
7 Cookies y sesiones
Los usuarios normalmente completan un formulario modificando sus controles
(introduciendo texto, seleccionando objetos de un men, etc.), antes de enviar
el formulario a un agente para que lo procese (por ejemplo, a un servidor Web,
a un servidor de correo, etc.). Todos los controles presentes en un formulario,
para que sean efectivos, deben aparecer incluidos dentro de un elemento form
de HTML. La etiqueta FORM acta, por tanto, como contenedor de controles.
Pero, adems, especifica entre otros:
-El programa que manejar los datos del formulario una vez haya sido
completado y enviado (atributo action). El programa receptor debe ser capaz
de interpretar las parejas nombre/valor para poder hacer uso de ellas.
-La forma en la que se enviarn los datos del usuario al servidor (atributo
method).
-El tipo MIME usado para enviar los datos del formulario (atributo enctype). El
valor por defecto de este atributo es application/x-www-form-urlencode.
El atributo method del elemento form especifica el mtodo HTTP usado para
enviar los datos del formulario al agente procesador. Este atributo puede tener
dos valores:
Get: El conjunto de datos del formulario se agrega (con el carcter ? como
separador) al URI especificado en el atributo action (el programa que tratar
los datos) y este nuevo URI se enva al agente procesador.
Post: Los datos del formulario se incluyen en el cuerpo del mensaje que se
enva al agente procesador.

El conjunto de datos del formulario que se enva al agente servidor es una


secuencia de parejas nombre_de_control/valor construida a partir de los
elementos del formulario. Cada uno de los controles tiene asociado un nombre
que viene dado por su atributo name. De igual forma, cada control tiene tanto
un valor inicial, como un valor actual, que son ambos cadenas de caracteres.
En general (excepto en el caso del elemento textarea), el valor inicial de un
control puede especificarse con el atributo value del elemento de control. El
valor actual del control se iguala en un primer momento al valor inicial y, a
partir de ese momento, el valor actual del control puede ser modificado a
travs de la interaccin con el usuario y/o mediante scripts que se ejecuten en
el cliente. El valor inicial de un control no cambia. As, cuando se reinicializa el
formulario, el valor actual de cada control se iguala a su valor inicial. Si el
elemento de control no tiene un valor inicial, se le asigna el valor nulo.
Variable Contenido
_POST Array que contienen las variables pasadas a travs del mtodo POST.
Su uso es anlogo al array HTTP_POST_VARS de versiones anteriores a la 4.2.0
de PHP (obsoleto).
_GET Array que contiene las variables pasadas a travs del mtodo GET. Su
uso es anlogo al array HTTP_GET_VARS de versiones anteriores a la 4.2.0 de
PHP (obsoleto).
_REQUEST Array que contiene las variables pasadas a travs de cualquier
mecanismo de entrada.
7.1 Cookies
Bsicamente, las cookies son ficheros de texto ASCII que almacenan
informacin siguiendo una estructura bsica de pares identificador = valor. Su
tamao es relativamente pequeo, no superando en ningn caso los 4 Kb. El
modo en que se almacenan, los directorios en que se almacenan y el resto de
caractersticas propias de una operacin de lectura/escritura sobre disco
dependen de gran manera del sistema operativo y del navegador que tenga
instalado el equipo cliente. De igual forma, la posibilidad de hacer uso de
cookies depende que el software utilizado para acceder a la aplicacin Web
(normalmente un navegador) cuente con esta caracterstica y que, adems,
est habilitada.
PHP propone una sola funcin para el manejo bsico de cookies (creacin y
borrado) cuya
sintaxis es la siguiente:
Setcookie(Nombre_Cookie, valor, tiempo_de_vida); #Crea.
Setcookie(Nombre_Cookie); #Elimina la cookie.
Para poder acceder a los contenidos de las cookies, PHP proporciona una
variable global consistente en un array asociativo formado por todas las
variables pasadas a travs de las cookies. Es la variable $_COOKIE:
$_COOKIE[nombre_de_la_cookie];
7.2 Sesiones

El modo principal de activar el uso de sesiones cuando lo deseemos es hacer


uso de la funcin session_start().
Esta funcin crea una nueva sesin y genera el nuevo identificador, o retoma la
sesin en caso de que existiera, utilizando el identificador de sesin que se
haba propagado haciendo uso de la URL o de cookies.
Session_register(nombre [, nombre]): Registra una nueva variable global
para la sesin actual. En caso que no exista la sesin, la crea realizando una
llamada implcita a la funcin session_start().
Session_is_registered(nombre): Devuelve true cuando la variable cuyo
nombre se ha pasado como argument a la llamada est registrada dentro de la
sesin actual.
Session_unregister(nombre): Evita que la variable que se ha pasado como
argumento a la llamada sea salvada como parte de la sesin actual, es decir, la
elimina de la sesin, pero sigue siendo una variable del script donde se ejecuta
(para esto tendramos que llamar a la funcin unset()).

Por lo general, si nunca tienen que aparecer acentos o ees en nuestra


web, nos es indiferente la codificacin (aunque pueden haber otros
smbolos que nos fastidien). Aunque si nuestra web est en espaol, lo ms
normal es que coloquemos acentos y ees. Para ello, el estndar HTML est
preparado para colocar todos los smbolos y acentos que nos sean
necesarios, codificndolos. As, para los acentos y ees, deberamos
colocar:

-> &ntilde;

->
->
->
->
->

&aacute;
&eacute;
&iacute;
&oacute;
&uacute;

Das könnte Ihnen auch gefallen