SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
 
	
  
                                                                     Curso-Taller: Desarrollo de Sitios Web con PHP
                                                                                                                                                                                                                    PRESENTACIÓN

Aunque existe una multitud de lenguajes y entornos de desarrollo concebidos para Internet,
PHP se ha convertido en uno de los lenguajes, del lado servidor, más ampliamente utilizados
para el desarrollo de páginas dinámicas junto con ASP, JSP, ColdFusion y Perl. En el último
año, el número de servidores que utilizan PHP se ha disparado, logrando situarse cerca de los
20 millones de sitios, esto es, más del 30% de los dominios en internet.

En PHP se combinan muchas características que contribuyen notablemente a su masiva
utilización; entre otras, está el hecho de ser un software de libre distribución y multiplataforma
convertido en el complemento ideal para el popular tándem Linux-Apache en el desarrollo de
sitios Web. Pero lo más destacable del lenguaje, y una de las características que más han
influido en su popularización, es su sencillez de uso para los programadores principiantes (se
pueden desarrollar aplicaciones sencillas en un corto intervalo de tiempo) y sus posibilidades
avanzadas para el profesional (Comunicación con bases de datos, comunicación vía sockets,
generación de gráficos, etc.).




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  1	
  |	
  P á g i n a 	
  
	
  
 
	
  
                                                                                                                                                                                                                                                           Índice

Introducción

1. Sintaxis básica
   1.1. Comentarios
   1.2. Declaración de variables
   1.3. Variables predefinidas
   1.4. Tipos de datos
       1.4.1.Cadenas
       1.4.2.Arrays
   1.5. Funciones para variables
   1.6. Constantes
       1.6.1.Constantes predefinidas
   1.7. Operadores
       1.7.1.Operadores aritméticos
       1.7.2.Operadores de asignación
       1.7.3.Incremento y decremento
       1.7.4.Operadores de comparación
       1.7.5.Operadores lógicos
2. Estructuras de control
   2.1. Sentencias condicionales
       2.1.1.If
       2.1.2.If…else
       2.1.3.If…elseif
       2.1.4.If compacto
       2.1.5.Switch
       2.1.6.For
       2.1.7.Foreach
       2.1.8.While
       2.1.9.Include
       2.1.10. Require
3. Cadenas
4. Arrays
5. Funciones
6. Funciones de fecha y hora
7. Cookies y sesiones
   7.1. Cookies
   7.2. Sesiones
8. Bases de datos
   8.1. MySQL
   8.2. Creación de una base de datos
   8.3. Creación de tablas
   8.4. Tipos de datos
   8.5. Conexión a una base de datos con PHP
   8.6. Añadir registros
   8.7. Eliminar registros
   8.8. Modificar registros
   8.9. Funciones de PHP para el manejo de MySQL
9. PHP5
   9.1. Clases y Objetos

www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  2	
  |	
  P á g i n a 	
  
	
  
 
	
  
                                              9.1.1.Constructores
                                              9.1.2.Destructores
                                              9.1.3.Modificadores de acceso
                                              9.1.4.Nuevos métodos
                                              9.1.5.Clonación de objetos
                                              9.1.6.Clases abstractas
                                              9.1.7.Interfaces
                                              9.1.8.Operador InstaceOf
                                              9.1.9.Autocarga de clases
                                              9.1.10. Acceso a subojetos




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  3	
  |	
  P á g i n a 	
  
	
  
 
	
  
Introducción

PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de
páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor
(server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de
comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz
gráfica usando las bibliotecas Qt o GTK+.

PHP es un acrónimo 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 implementación principal de PHP es producida ahora por The PHP Group y
sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo
la PHP License, la Free Software Foundation considera esta licencia como software libre.

PHP es un lenguaje interpretado de propósito general ampliamente usado y que está diseñado
especialmente para desarrollo web y puede ser embebido dentro de código HTML.
Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y
creando páginas web como salida. Puede ser desplegado en la mayoría de los servidores web
y en casi todos los sistemas operativos y plataformas sin costo alguno. PHP se encuentra
instalado en más de 20 millones de sitios web y en un millón de servidores, aunque el número
de sitios en PHP ha declinado desde agosto de 2005. Es también el módulo Apache más
popular entre las computadoras que utilizan Apache como servidor web. La más reciente
versión principal del PHP fue la versión 5.2.6 de 1 de mayo de 2008.




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  4	
  |	
  P á g i n a 	
  
	
  
 
	
  
1. Sintaxis básica

Objetivo particular: Al finalizar el tema, el participante será capaz de conocer la sintaxis
básica y particularidades del lenguaje PHP.

Introducción: PHP es un lenguaje de programación muy poderoso y a la vez sencillo de
utilizar, gracias a esto se debe la gran popularidad que ha tenido los últimos años y aún sigue
evolucionando.

Para crear un documento en PHP primeramente se escriben los delimitadores <?php y ?>. La
extensión para los archivos de PHP es “.php”.

1.1 Comentarios

Existen 3 tipos de comentarios en PHP:

                                             //Comentario para una línea.
                                             ############
                                             #Comentario
                                             ############
                                             /*
                                               *Comentarios para
                                               *varias líneas
                                               */

1.2 Declaración 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 mayúsculas y minúsculas en las variables. Las variables no pueden
comenzar con número, 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 serán evaluados (sustituidos por sus respectivos valores) a la hora de mostrar la
información. Si introducimos nombres de variables dentro de una cadena encerrada entre
comillas simples, la variable no será evaluada.




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  5	
  |	
  P á g i n a 	
  
	
  
 
	
  
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: numérico, 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
automático de tipos de datos, es decir PHP puede hacer sin ningún problema la siguiente
operación y no marcara ningún error:

                                             $a = 3; //valor numérico.
                                             $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

                                                                                 Código de escape                                                                                                                                                                                                                                                                                      Significado

                                                                                                                                   b                                                                                                                                                                                      Espacio hacia atrás (backspace).

                                                                                                                                    f                                                                                                                                                                                             Cambio de página (form feed).

                                                                                                                                   n                                                                                                                                                                                                      Cambio de línea (line feed).

                                                                                                                                    r                                                                                                                                                                                    Retorno de carro (carriage return)

                                                                                                                                    t                                                                                                                                                                                                                                                    Tabulación

                                                                                                                                     ’                                                                                                                                                                                                                                         Comilla simple

                                                                                                                                   ”                                                                                                                                                                                                                                              Comilla doble




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  6	
  |	
  P á g i n a 	
  
	
  
 
	
  
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 construcción tradicional de los lenguajes de programación.
Podemos definir un array como un conjunto ordenado de elementos identificados por un índice
(la posición del elemento dentro de esta colección ordenada), de modo que en cada posición
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 dinámica siempre que le añadimos un nuevo elemento.

En PHP, los arrays pueden estar compuestos de elementos de diferente naturaleza y su primer
índice o posición es la 0. Además, existen unos arrays especiales en PHP denominados
asociativos en los que el índice es un valor de tipo string, de modo que cada posición está
definida por el par (clave, valor), pudiendo acceder al contenido (valor) a través de la clave.

Ejemplo de array escalar:

                                             <?php
                                             $array[0] = “Mi Nombre”;
                                             $array[1] = “es Carlos y tengo”;
                                             $array[2] = “20 años”;
                                             $array[] = “y estudio telemática”; //Lo insertara en la posición 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 años”;
                                             $array[“Estudio”] = “y estudio telemática”; //Lo insertara en la posición 3.
                                             echo $array[“Nombre”].$array[“Es”].$array[“Tengo”].$array[“Estudio”];
                                             ?>

1.5 Funciones para variables

Gettype (variable): Devuelve el tipo de dato pasado como parámetro, 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 función
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 parámetros el nombre de la variable a destruir.

Empty (variable): Devuelve true si la variable aún no ha sido inicializada o bien tiene un valor
de 0 o es una cadena vacía y, en caso contrario devuelve false.


www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  7	
  |	
  P á g i n a 	
  
	
  
 
	
  
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 número o cadena numérica.

Is_bool (var): True si la variable es de tipo lógico.

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 parámetro. En particular, la
función intval() puede recibir además un segundo parámetro que representa la base a utilizar
en la conversión (10 = decima, 8 = octal y 16 = hexadecimal), tomando por defecto la base 10
de los números decimales.

1.6 Constantes

Una constante es una variable que mantiene el mismo valor durante la ejecución 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 función nos permite crear una constante asignándole su
nombre y su valor a través de los parámetros que recibe.

Defined (constante): Esta función devuelve true si la constante está definida y existe.

1.6.1 Constantes Predefinidas

                                                                                                         Constante                                                                                                                                                                                                                                                                     Significado

                                                                                          PHP_VERSION                                                                                                                                                                            Cadena que representa la versión del intérprete
                                                                                                                                                                                                                                                                                 de PHP en uso.

                                                                                                              PHP_OS                                                                                                                                                             Cadena con el nombre del sistema operativo
                                                                                                                                                                                                                                                                                 con el que se está ejecutando el intérprete de
                                                                                                                                                                                                                                                                                 PHP.

                                                                                                                       TRUE                                                                                                                                                      Verdadero.

                                                                                                                   FALSE                                                                                                                                                         Falso.

                                                                                                         E_ERROR                                                                                                                                                                 Información sobre errores distintos a los de
                                                                                                                                                                                                                                                                                 interpretación del cual no es posible
                                                                                                                                                                                                                                                                                 recuperarse.




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  8	
  |	
  P á g i n a 	
  
	
  
 
	
  
                                                                                                          E_PARSE                                                                                                                                                                Informa que el intérprete encontró una sintaxis
                                                                                                                                                                                                                                                                                 inválida en el archivo de comandos. Finaliza la
                                                                                                                                                                                                                                                                                 ejecución.

                                                                                                        E_NOTICE                                                                                                                                                                 Informa que se produjo algo incorrecto que
                                                                                                                                                                                                                                                                                 puede provenir o no de un error. La ejecución
                                                                                                                                                                                                                                                                                 continúa.

                                                                                                 E_WARNING                                                                                                                                                                       Denota un error que no impide que continúe la
                                                                                                                                                                                                                                                                                 ejecución.

                                                                                                                    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 más
operandos. Podemos encontrar varios tipos de operadores.

1.7.1 Operadores Aritméticos

Estos operadores funcionan igual que en la aritmética básica y se pueden aplicar a las
variables y constantes numéricas. Son los siguientes:

                                                                       Operador                                                                                                                                                                             Ejemplo                                                                                                                                                          Descripción

                                                                                                +                                                                                                                                                              $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 división entera

1.7.2 Operadores de asignación

El operador de asignación más utilizado es “=”; su función básica es asignar un valor a una
variable, para que de este modo se pueda conservar dicho valor en memoria. El operador de
asignación es un operador binario que siempre toma la forma:

                                             Variable = Expresión

Este operador de asignación hace que la variable de la izquierda tome el valor de la expresión
de la derecha. PHP soporta otros operadores de asignación, que realmente son una
combinación del operador de asignación básico con operadores aritméticos y con el operador
de concatenación de cadenas.




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  9	
  |	
  P á g i n a 	
  
	
  
 
	
  
                                                                      Operador                                                                                                                                                                           Ejemplo                                                                                                                                                        Descripción

                                                                                               =                                                                                                                                                            $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 programación como C, PHP soporta operadores específicos
para incrementar y decrementar el valor de las variables. Además, el momento de su ejecución
dependerá de la posición en la que aparezcan respecto de la variable a la que son aplicados.

                                                                      Operador                                                                                                                                                                           Ejemplo                                                                                                                                                        Descripción

                                                                                                                                                                                                                                                                   ++$a                                                                                      Preincremento: Incrementa $a
                                                                                            ++                                                                                                                                                                                                                                                               en uno y después devuelve $a.
                                                                                                                                                                                                                                                                   $a++                                                                                      Postincremento: Devuelve $a y
                                                                                                                                                                                                                                                                                                                                                             después incrementa en uno $a.

                                                                                                                                                                                                                                                                      --$a                                                                                   Predecremento: Decrementa $a
                                                                                               --                                                                                                                                                                                                                                                            en uno y después devuelve $a.
                                                                                                                                                                                                                                                                      $a--                                                                                   Postdecremento: Devuelve $a y
                                                                                                                                                                                                                                                                                                                                                             después Decrementa en uno $a.

1.7.4 Operadores de comparación

                                                                      Operador                                                                                                                                                                           Ejemplo                                                                                                                                                        Descripción

                                                                                            ==                                                                                                                                                           $a == $b                                                                                                              Los operandos son iguales.

                                                                                             !=                                                                                                                                                           $a != $b                                                                                                          Los operandos son distintos.

                                                                                        ===                                                                                                                                                          $a === $b                                                                                                            Los operandos son idénticos:
                                                                                                                                                                                                                                                                                                                                                                            iguales y del mismo tipo.

                                                                                         !==                                                                                                                                                           $a !== $b                                                                                                  Los operandos no son iguales o
                                                                                                                                                                                                                                                                                                                                                                          del mismo tipo.

                                                                                                                                                                                                                                                                                                                                                                       El operando de la izquierda es
                                                                                               <                                                                                                                                                            $a < $b                                                                                                     menor que el operando de la
                                                                                                                                                                                                                                                                                                                                                                                 derecha.

                                                                                                                                                                                                                                                                                                                                                              El operando de la izquierda es
                                                                                               >                                                                                                                                                            $a > $b                                                                                          menor o igual que el operando de



www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  10	
  |	
  P á g i n a 	
  
	
  
 
	
  
                                                                                                                                                                                                                                                                                                                                                                                                                             la derecha.

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

                                                                                                                                                                                                                                                                                                                                                                       El operando de la izquierda es
                                                                                            >=                                                                                                                                                           $a >= $b                                                                                                         mayor o igual que el de la
                                                                                                                                                                                                                                                                                                                                                                                  derecha.

1.7.5 Operadores lógicos

Los operadores lógicos (también llamados operadores booleanos) se utilizan conjuntamente
con expresiones que devuelven valores lógicos. Con estos operadores se pueden combinar
varias condiciones y evaluarlas en una sola expresión.

                                                                      Operador                                                                                                                                                                           Ejemplo                                                                                                                                                        Descripción

                                                                                        &&                                                                                                                                                           $a && $b                                                                                                $a y $b son ambos true.
                                                                                        and                                                                                                                                                          $a and $b

                                                                                             ||                                                                                                                                                           $a || $b                                                                                           $a o $b son true.
                                                                                             or                                                                                                                                                           $a or $b

                                                                                                                                                                                                                                                                                                                                                             $a es false, niega el valor lógico
                                                                                                 !                                                                                                                                                                     ! $a                                                                                  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 ejecución
básico del programa, es decir, gracias a ellas la ejecución no tiene por qué ser totalmente
secuencial, vamos a poder controlar el flujo lógico de cualquier programa. Estas estructuras
nos permiten bifurcar el flujo del programa y así ejecutar unas partes u otras del código según
se cumplan una serie de condiciones, hacer que un determinado código no llegue a ejecutarse
nunca o que lo haga tantas veces como queramos.

2.1 Sentencias condicionales

Son las estructuras de control más sencillas, se basan en el uso de la sentencia if…else y en
las diferentes formas que ésta puede presentar. Utilizando estas sentencias, somos capaces
de hacer que el programa elija entre dos caminos de ejecución diferentes en función de la
evaluación de una expresión lógica.




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  11	
  |	
  P á g i n a 	
  
	
  
 
	
  
2.1.1 If

Es una de las más utilizadas e importantes en la mayoría de los lenguajes de programación. Su
sintaxis es la siguiente:

                                             If (condición) {
                                                [sentencias]
                                             }

El intérprete de PHP lo que hace es evaluar la condición, que debe ser una expresión lógica y,
si resulta verdadera, se ejecutarán las sentencias comprendidas entre las llaves “{” y “}” y, si es
falsa, PHP ignorará las sentencias y seguirá con la ejecución normal del programa, es decir,
nos permite tomar decisiones en torno a una condición.

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 número 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 if…else consta de un bloque if que se ejecuta cuando la expresión se evalúa a
true y de un bloque else cuyas instrucciones se ejecutarán cuando se evalúa a false. La
sintaxis de la instrucción if…else es la siguiente:

                                             If (expresión) {
                                                 [sentencias]
                                             } else {
                                                 [sentencias]


                                             }



www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  12	
  |	
  P á g i n a 	
  
	
  
 
	
  
2.1.3 If…elseif

Hay muchas ocasiones en que se quiere evaluar una nueva comprobación 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 if…elseif es la siguiente:

                                             If(expresión) {
                                                [sentencias]
                                             } elseif(expresión) {
                                                [sentencias]
                                             } elseif(expresión) {
                                                [sentencias]
                                             } else {
                                               [sentencias]
                                             }

Ejemplo:

                                             <?
                                             echo “Hoy es: ”;
                                             $dia = date(“D”);

                                             if($dia == “Mon”) echo “Lunes”;
                                             elseif($dia == “Tue”) echo “Martes”;
                                             elseif($dia == “Wed”) echo “Miércoles”;
                                             elseif($dia == “Thu”) echo “Jueves”;
                                             elseif($dia == “Fri”) echo “Viernes”;
                                             elseif($dia == “Sat”) echo “Sábado”;
                                             else echo “Domingo”;
                                             ?>

2.1.4 If compacto

PHP utiliza dos operadores (“?” y “:”) para formar expresiones condicionales que devolverán
uno de dos posibles valores basándose en el valor lógico obtenido al evaluar una expresión. La
sintaxis de estos operadores es:

                                             <expresion1> ? <expresion2> : <expresion3>;

De este modo considerando expresión1, si ésta se evalúa a true, entonces de devolvería la
evaluación de expresión2; en caso contrario, el valor devuelto sería el resultado de evaluar la
expresión3.




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  13	
  |	
  P á g i n a 	
  
	
  
 
	
  
                                             <?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 múltiples sentencias if o con una sentencia if…elseif múltiple,
pero la sentencia switch es mucho más 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 “Miércoles”; break;
                                              case “Thu”: echo “Jueves”; break;
                                              case “Fri”: echo “Viernes”; break;
                                              case “Sat”: echo “Sábado”; break;

                                               default: echo “Domingo”;
                                             }
                                             ?>

2.1.6 For

Esta instrucción nos permite realizar un conjunto de instrucciones un determinado número de
veces. Es una de las estructuras de control sintácticamente más compleja de PHP.




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  14	
  |	
  P á g i n a 	
  
	
  
 
	
  
                                             For ([inicialización]; [condición]; [bucles]) {
                                                 [sentencias]
                                             }

Las tres expresiones cerradas entre paréntesis son opcionales, pero es necesario escribir los
caracteres punto y coma (“;”) que las separan aunque las expresiones se omitan, para que
cada expresión permanezca en el lugar apropiado.

                                             <?
                                             echo “La suma de los 10 primeros números 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 iteración uno de sus elementos componentes. También 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 posición actual del array
(comenzando por la primera y siguiendo en orden ascendente) y que va actualizando de forma
automática en cada una de las iteraciones.

                                             <?php
                                             $array=array("Manzana","Pera","Platano");
                                             reset($array);

                                             foreach ($array as $fruta){
                                              echo "Fruta:$fruta<br>n";
                                             }
                                             ?>

También está función se puede aplicar a un array de tipo asociativo, en el que el índice en
cada elemento no es de tipo numérico.




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  15	
  |	
  P á g i n a 	
  
	
  
 
	
  
                                             $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 actúa de forma muy parecida a la sentencia for, pero se diferencia de ésta
en que no incluye en su declaración la inicialización 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 (condición) {
                                               [sentencias]
                                             }

Con esta instrucción se va a poder ejecutar un conjunto de instrucciones un indeterminado
número de veces, siempre y cuando el resultado de comprobar la condición sea verdadera
(debe ser una expresión que se evalúe a un valor lógico). Si la condición se evalúa a true, se
ejecutan las sentencias del cuerpo del bucle; después de ejecutarlas, se volverá a evaluar la
condición, de forma que, si ésta sigue cumpliéndose, se volverán a ejecutar las sentencias.
Esto se repite hasta que la condición se evalúa a false, en cuyo caso no se ejecutarán las
sentencias del cuerpo del bucle y continuará la ejecución del script por la instrucción siguiente
a la sentencia while.

                                             <?php
                                             /* ejemplo 1 */

                                                $i = 1;
                                                while ($i <= 10) {
                                                   print $i++; /* el valor impreso sería
                                                              $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 iteración en vez de al principio. La principal diferencia frente a los
bucles regulares while es que se garantiza la ejecución de la primera iteración de un bucle

www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  16	
  |	
  P á g i n a 	
  
	
  
 
	
  
do...while (la condición se comprueba sólo al final de la iteración), mientras que puede no ser
necesariamente ejecutada con un bucle while regular (la condición se comprueba al principio
de cada iteración, si esta se evalúa como FALSE desde el principio la ejecución del bucle
finalizará inmediatamente).

                                             <?php
                                              $i=0;
                                              do{
                                              print $i;
                                              } while($i>0);
                                             ?>

2.1.9 Include

Esta función incluye y evalúa un fichero externo cada vez que es interpretada. Ambos pasos, la
inclusión del fichero externo y su posterior evaluación, se realizan cada vez que el flujo del
programa llega a una línea que contenga la llamada a esta función. En caso de que el fichero a
incluir no exista o su referencia sea errónea, la función genera un aviso o warning, continuando
con la ejecución por la siguiente instrucción.

Cuando un archivo se incluye con include(), el intérprete 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 razón, cualquier código dentro del archivo referenciado que debiera ser
ejecutado como código PHP debe ser encerrado dentro de etiquetas válidas 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 evalúa el archivo especificado. Require() e include() son
idénticas 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 página.
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 información por la salida estándar; no soportan ningún atributo de
formato de salida y sólo admiten una única cadena como argumento en su llamada (cuando
necesitamos pasar más de un argumento a cualquiera de estas funciones, deberemos utilizar
las comillas).




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  17	
  |	
  P á g i n a 	
  
	
  
 
	
  
Printf (formato [, argumentos]): Imprime información por la salida estándar soportando
diferentes formatos de salida. Admite múltiples 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 mostrarán
directamente, mientras que otros, los que van precedidos por el carácter “%”, conocidos como
especificaciones de conversión, son utilizados para formatear la información.

Strlen(cadena): Devuelve la longitud de la cadena pasada como argumento.

Strstr(cadena, cadBusq), strchr(cadena, cadBusq): Busca la aparición de una cadena
dentro de otra y devuelve la subcadena comprendida entre la primera aparición de la cadena
buscada (incluyéndola) hasta el final de la cadena en la que se realiza la búsqueda. La
búsqueda diferencia entre mayúsculas y minúsculas.

Strrchr(cadena, cadBusq): Busca la aparición de un carácter 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 carácter.

Stristr(cadena, cadBusq): Es igual a strstr(), salvo que no diferencia entre mayúsculas y
minúsculas.

Strpos(cad1, cad2 [, desplz]): Encuentra la primera posición de aparición de una cadena a
partir de una cierta posición (si no se indica, el valor por defecto para el desplazamiento es 0).

Strspn(cadena, máscara): Obtenemos la longitud de la subcadena más larga que está
formada sólo por caracteres contenidos en una máscara. Una vez encontrado un carácter que
no está en la máscara se abandona la búsqueda.

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 [, tamaño]): Devuelve la subcadena que se encuentra a partir de una
posición dada y llega hasta el final de la cadena original, pudiendo de forma opcional decidir el
tamaño de la subcadena a recuperar.

Substr_replace(cad1, cad2, inicio [, tamaño]): Devuelve una cadena que es resultado de la
sustitución de parte del contenido de una cadena original (indicado por una posición de inicio y
opcionalmente por un tamaño) por el contenido de otra cadena. La cadena original no sufre
ninguna modificación.

Str_replace(cadBus, CadRee, Cadena): Devuelve una cadena, que es resultado de la
sustitución de todas las apariciones de una subcadena, por otro contenido en la cadena
original.

Substr_count(cadena, patrón): Devuelve el número 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 línea 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.




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  18	
  |	
  P á g i n a 	
  
	
  
 
	
  
Str_pad(cadena, long): Rellena una cadena con un carácter 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 minúsculas.
Strtoupper(cadena): Convierte una cadena de caracteres a mayúsculas.

Ucfirst(cadena): Se encarga de convertir a mayúscula el primer carácter de una cadena de
caracteres, siempre que éste sea alfabético.

Ucwords(cadena): Se comporta igual que la función anterior, salvo que ésta convierte a
mayúsculas el primer carácter de cada palabra que compone la cadena, siempre y cuando
sean caracteres alfanuméricos.

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(patrón, cadena): Devuelve un array resultado de dividir una cadena en diferentes
subcadenas. El número total de elementos del array puede ser elegido a través de un
parámetro opcional.}

Explode(patrón, 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 función htmlspecialchars(), salvo que esta función
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 función regular; tiene la siguiente definición:

                                             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() también nos permite asignar los elementos del array en el orden en que
queramos. Para ello, indicamos el índice, seguido del símbolo “=>” y el valor del elemento.

Ejemplo:

                                             $vector = array(2 => “Manzana”, 0 => “Platano”, “Pera”);

Los elementos a los que no se les asigna explícitamente un índice toman la posición secuencial
relativa a la última asignación de posición dentro del array.

www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  19	
  |	
  P á g i n a 	
  
	
  
 
	
  
Arrays Asociativos

A diferencia de los arrays simples, los arrays asociativos (también conocidos como tablas
hash o arrays indexados por cadena) están formados por un conjunto de valores que están
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 explícita 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 combinación 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”] = “Dólar”;
                                             $matriz[“dolar”][“cambio”] = “0.1”;

Funciones para arrays

Current(array): Devuelve el valor de la posición actual del puntero dentro del array: todos los
arrays tienen un puntero interno que apunta a la posición del elemento actual con el que se
está trabajando en un momento dado.

Key(array): Devuelve el índice de la posición actual del array pasado como argumento.

Next(array): Devuelve el valor del elemento siguiente al actual (si existe) y avanza el puntero
interno una posición.

Prev(array): Devuelve el valor del elemento anterior al actual (si existe) y retrocede el puntero
interno una posición.

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 sitúa el puntero interno en su
primera posición.

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 operación. Suele utilizarse en
combinación con la función each().




www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  20	
  |	
  P á g i n a 	
  
	
  
 
	
  
Array_keys(array): Devuelve las claves que forman el array matriz. Admite un parámetro
opcional que nos permite seleccionar sólo las claves cuyo valor coincida con un patrón dado.

Array_values(array): Devuelve los valores que forman parte del array pasado como
parámetro.

Sort(array): Ordena alfanuméricamente los valores de los elementos de un array de menor a
mayor. Para ordenar de manera inversa, disponemos de la función rsort(array).

Asort(array): Ordena alfanuméricamente los valores de los elementos de un array de mayor a
menor, pero manteniendo la relación existente entre los índices y sus valores asociados.
Arsort(array) realiza la ordenación inversa.

Ksort(array): Ordena alfanuméricamente las claves de un array de menor a mayor
manteniendo las correlaciones entre clave y valor asociado. Krsort(array) realiza la ordenación
inversa.

Array_merge(array1, array2): Combina en un solo array los valores de los arrays que recibe
como argumentos.

Array_pad(array, tamaño, relleno): Devuelve un array igual a matriz, pero modificando su
número de elementos hasta alcanzar la longitud deseada (tamaño) añadiendo nuevos
elementos por la derecha (tamaño es positivo) o por la izquierda (tamaño es negativo).

Array_slice(array, desplazamiento [, int tamaño]): Devuelve los elementos del array que
están situados a partir de una posición determinada por desplazamiento. Opcionalmente,
podemos indicar el total de elementos que queremos.

Array_splice(array, desplz [,tam [array substituto]]): Elimina elementos de un array,
sustituyéndolos opcionalmente por los elementos de otro array (substituto).

Array_push(array, valor1 [, valor2, …]): Inserta uno o más 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 más elementos al principio del array.

Array_reserve(array): Devuelve el array pasado como parámetro, 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 función, 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 función podremos saber si un elemento está
contenido dentro de un array.

Compact(): Esta función 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.

www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  21	
  |	
  P á g i n a 	
  
	
  
 
	
  
5 Funciones

La sintaxis de la declaración de una función es la siguiente:

                                             Function nombreFunción([parametro1 [,…]]) {
                                               [sentencias]
                                             }

Una vez declarada una función, ésta no se ejecuta hasta que se le llama desde cualquier parte
del script. Para llamar a una función, sólo hay que escribir una sentencia que contenga el
nombre de la función y, entre paréntesis, 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 parámetros o argumentos. De esta
forma conseguimos que la función sea más utilizable dentro del propósito 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 aquéllas que se definen fuera del cuerpo de una función y son
accesibles, en general, desde cualquier punto del código.

En PHP, las variables globales deben ser declaradas globales dentro de la función si van a ser
utilizados dentro de dicha función, anteponiendo a su definición la palabra reservada global. Un
segundo método 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 función y sólo pueden ser
accedidas desde dentro de esta función. Cualquier variable que se use dentro de una función
está, por defecto, limitada al ámbito local de la función. Esto quiere decir que, si declaramos
una variable local con el mismo nombre que una variable global, dentro de la función
trabajaremos con la versión local de la variable.

                                             <?php
                                             $inicio = 0;


www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  22	
  |	
  P á g i n a 	
  
	
  
 
	
  
                                             $final = 9;

                                             Function cuentaAtras() {
                                              Global $final; #Variable global.
                                               $inicio = 7; #Variable local.
                                               Static $num = 0; #Variable estática

                                                          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, también pueden devolverlos. La
devolución de un valor desde una función trabaja de igual forma que la devolución de un valor
en una expresión, de manera que el valor devuelto desde una función puede ser asignado a
una variable o utilizado dentro de una expresión. Se puede devolver cualquier tipo de valores
incluyendo listas y objetos, pero sólo un único valor; para devolver múltiples 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 función es recursiva cuando en algún punto de su cuerpo se llama a sí misma.
Hay que tener cuidado al escribir una función recursiva, ya que puede ocurrir que se llame a sí
misma indefinidamente. Por tanto, es esencial asegurarse de implementar una forma adecuada
de terminar la recursión: es lo que se denomina como condición de parada.

La recursión nos sirve para solucionar algunos problemas complejos; un ejemplo típico de
recursión es hallar el factorial de un número.

                                             <?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;
                                             }


www.zanphp.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  23	
  |	
  P á g i n a 	
  
	
  
Curso PHP
Curso PHP
Curso PHP
Curso PHP

Más contenido relacionado

La actualidad más candente (20)

Programacion Internet
Programacion InternetProgramacion Internet
Programacion Internet
 
introduccion al Lenguaje php
introduccion al Lenguaje phpintroduccion al Lenguaje php
introduccion al Lenguaje php
 
DEFINICION DE Php
DEFINICION DE PhpDEFINICION DE Php
DEFINICION DE Php
 
Historia y características de php
Historia y características  de phpHistoria y características  de php
Historia y características de php
 
Introducción a programación con PHP
Introducción a programación con PHPIntroducción a programación con PHP
Introducción a programación con PHP
 
Curso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVCurso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPV
 
PHP IUTE
PHP IUTEPHP IUTE
PHP IUTE
 
Php tema 4
Php tema 4Php tema 4
Php tema 4
 
Php
PhpPhp
Php
 
Manual+php+básico
Manual+php+básicoManual+php+básico
Manual+php+básico
 
Tutorial php basico
Tutorial php basicoTutorial php basico
Tutorial php basico
 
Programacion - Php
Programacion - PhpProgramacion - Php
Programacion - Php
 
Trabajo especial copy
Trabajo especial   copyTrabajo especial   copy
Trabajo especial copy
 
Php
PhpPhp
Php
 
Programacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorProgramacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidor
 
Php apesteguia
Php apesteguiaPhp apesteguia
Php apesteguia
 
Php1
Php1Php1
Php1
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfony
 
QUE ES PHP
QUE ES PHPQUE ES PHP
QUE ES PHP
 

Destacado

Destacado (20)

Manual basico de PHP
Manual basico de PHPManual basico de PHP
Manual basico de PHP
 
Conociendo PHP
Conociendo PHPConociendo PHP
Conociendo PHP
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Curso MATLAB
Curso MATLABCurso MATLAB
Curso MATLAB
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Costos industriales y sus aplicaciones
Costos industriales y sus aplicaciones Costos industriales y sus aplicaciones
Costos industriales y sus aplicaciones
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 
Introduccion a PHP
Introduccion a PHPIntroduccion a PHP
Introduccion a PHP
 
Introducción a php
Introducción a phpIntroducción a php
Introducción a php
 
Manual oficial de php5
Manual oficial de php5Manual oficial de php5
Manual oficial de php5
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Php basico
Php basicoPhp basico
Php basico
 
Guia8 java
Guia8 javaGuia8 java
Guia8 java
 
Guia N3 Proyectos Web Php Css, Js
Guia N3   Proyectos Web   Php Css, JsGuia N3   Proyectos Web   Php Css, Js
Guia N3 Proyectos Web Php Css, Js
 
Guia N5 Proyectos Web Consultas Php Y My Sql
Guia N5   Proyectos Web   Consultas Php Y My SqlGuia N5   Proyectos Web   Consultas Php Y My Sql
Guia N5 Proyectos Web Consultas Php Y My Sql
 
Guia N1 Proyectos Web Html
Guia N1   Proyectos Web   HtmlGuia N1   Proyectos Web   Html
Guia N1 Proyectos Web Html
 
Guia7 java
Guia7 javaGuia7 java
Guia7 java
 

Similar a Curso PHP (20)

Lenguaje de Programación PHP
Lenguaje de Programación PHPLenguaje de Programación PHP
Lenguaje de Programación PHP
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
SEBASTIAN QUINTO TORRES.pptx
SEBASTIAN QUINTO TORRES.pptxSEBASTIAN QUINTO TORRES.pptx
SEBASTIAN QUINTO TORRES.pptx
 
Fundamentos de programación con PHP.pdf
Fundamentos de programación con PHP.pdfFundamentos de programación con PHP.pdf
Fundamentos de programación con PHP.pdf
 
Fundamentos de programación con PHP.pdf
Fundamentos de programación con PHP.pdfFundamentos de programación con PHP.pdf
Fundamentos de programación con PHP.pdf
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
 
Taller php9
Taller php9Taller php9
Taller php9
 
Servidor PHP
Servidor PHPServidor PHP
Servidor PHP
 
15 servidor php
15 servidor php15 servidor php
15 servidor php
 
BD_EQ6_INV_PHP
BD_EQ6_INV_PHPBD_EQ6_INV_PHP
BD_EQ6_INV_PHP
 
Practica09
Practica09Practica09
Practica09
 
Servicios web
Servicios webServicios web
Servicios web
 
Curso introduccionphp sql
Curso introduccionphp sqlCurso introduccionphp sql
Curso introduccionphp sql
 
Guiacursophp sql
Guiacursophp sqlGuiacursophp sql
Guiacursophp sql
 
Investigación Lenguaje Php Eduardo Flores
Investigación Lenguaje Php  Eduardo FloresInvestigación Lenguaje Php  Eduardo Flores
Investigación Lenguaje Php Eduardo Flores
 
"La era de los frameworks: Ruby On Rails"
"La era de los frameworks: Ruby On Rails""La era de los frameworks: Ruby On Rails"
"La era de los frameworks: Ruby On Rails"
 
Servidor php
Servidor phpServidor php
Servidor php
 
Presentando a Python
Presentando a PythonPresentando a Python
Presentando a Python
 
P H P
P H PP H P
P H P
 

Último

Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 

Último (20)

Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 

Curso PHP

  • 1.     Curso-Taller: Desarrollo de Sitios Web con PHP PRESENTACIÓN Aunque existe una multitud de lenguajes y entornos de desarrollo concebidos para Internet, PHP se ha convertido en uno de los lenguajes, del lado servidor, más ampliamente utilizados para el desarrollo de páginas dinámicas junto con ASP, JSP, ColdFusion y Perl. En el último año, el número de servidores que utilizan PHP se ha disparado, logrando situarse cerca de los 20 millones de sitios, esto es, más del 30% de los dominios en internet. En PHP se combinan muchas características que contribuyen notablemente a su masiva utilización; entre otras, está el hecho de ser un software de libre distribución y multiplataforma convertido en el complemento ideal para el popular tándem Linux-Apache en el desarrollo de sitios Web. Pero lo más destacable del lenguaje, y una de las características que más han influido en su popularización, es su sencillez de uso para los programadores principiantes (se pueden desarrollar aplicaciones sencillas en un corto intervalo de tiempo) y sus posibilidades avanzadas para el profesional (Comunicación con bases de datos, comunicación vía sockets, generación de gráficos, etc.). www.zanphp.com                                                                                                                                                                                                                                  1  |  P á g i n a    
  • 2.     Índice Introducción 1. Sintaxis básica 1.1. Comentarios 1.2. Declaración de variables 1.3. Variables predefinidas 1.4. Tipos de datos 1.4.1.Cadenas 1.4.2.Arrays 1.5. Funciones para variables 1.6. Constantes 1.6.1.Constantes predefinidas 1.7. Operadores 1.7.1.Operadores aritméticos 1.7.2.Operadores de asignación 1.7.3.Incremento y decremento 1.7.4.Operadores de comparación 1.7.5.Operadores lógicos 2. Estructuras de control 2.1. Sentencias condicionales 2.1.1.If 2.1.2.If…else 2.1.3.If…elseif 2.1.4.If compacto 2.1.5.Switch 2.1.6.For 2.1.7.Foreach 2.1.8.While 2.1.9.Include 2.1.10. Require 3. Cadenas 4. Arrays 5. Funciones 6. Funciones de fecha y hora 7. Cookies y sesiones 7.1. Cookies 7.2. Sesiones 8. Bases de datos 8.1. MySQL 8.2. Creación de una base de datos 8.3. Creación de tablas 8.4. Tipos de datos 8.5. Conexión a una base de datos con PHP 8.6. Añadir registros 8.7. Eliminar registros 8.8. Modificar registros 8.9. Funciones de PHP para el manejo de MySQL 9. PHP5 9.1. Clases y Objetos www.zanphp.com                                                                                                                                                                                                                                  2  |  P á g i n a    
  • 3.     9.1.1.Constructores 9.1.2.Destructores 9.1.3.Modificadores de acceso 9.1.4.Nuevos métodos 9.1.5.Clonación de objetos 9.1.6.Clases abstractas 9.1.7.Interfaces 9.1.8.Operador InstaceOf 9.1.9.Autocarga de clases 9.1.10. Acceso a subojetos www.zanphp.com                                                                                                                                                                                                                                  3  |  P á g i n a    
  • 4.     Introducción PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. PHP es un acrónimo 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 implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre. PHP es un lenguaje interpretado de propósito general ampliamente usado y que está diseñado especialmente para desarrollo web y puede ser embebido dentro de código HTML. Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y creando páginas web como salida. Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, aunque el número de sitios en PHP ha declinado desde agosto de 2005. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. La más reciente versión principal del PHP fue la versión 5.2.6 de 1 de mayo de 2008. www.zanphp.com                                                                                                                                                                                                                                  4  |  P á g i n a    
  • 5.     1. Sintaxis básica Objetivo particular: Al finalizar el tema, el participante será capaz de conocer la sintaxis básica y particularidades del lenguaje PHP. Introducción: PHP es un lenguaje de programación muy poderoso y a la vez sencillo de utilizar, gracias a esto se debe la gran popularidad que ha tenido los últimos años y aún sigue evolucionando. Para crear un documento en PHP primeramente se escriben los delimitadores <?php y ?>. La extensión para los archivos de PHP es “.php”. 1.1 Comentarios Existen 3 tipos de comentarios en PHP: //Comentario para una línea. ############ #Comentario ############ /* *Comentarios para *varias líneas */ 1.2 Declaración 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 mayúsculas y minúsculas en las variables. Las variables no pueden comenzar con número, 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 serán evaluados (sustituidos por sus respectivos valores) a la hora de mostrar la información. Si introducimos nombres de variables dentro de una cadena encerrada entre comillas simples, la variable no será evaluada. www.zanphp.com                                                                                                                                                                                                                                  5  |  P á g i n a    
  • 6.     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: numérico, 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 automático de tipos de datos, es decir PHP puede hacer sin ningún problema la siguiente operación y no marcara ningún error: $a = 3; //valor numérico. $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 Código de escape Significado b Espacio hacia atrás (backspace). f Cambio de página (form feed). n Cambio de línea (line feed). r Retorno de carro (carriage return) t Tabulación ’ Comilla simple ” Comilla doble www.zanphp.com                                                                                                                                                                                                                                  6  |  P á g i n a    
  • 7.     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 construcción tradicional de los lenguajes de programación. Podemos definir un array como un conjunto ordenado de elementos identificados por un índice (la posición del elemento dentro de esta colección ordenada), de modo que en cada posición 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 dinámica siempre que le añadimos un nuevo elemento. En PHP, los arrays pueden estar compuestos de elementos de diferente naturaleza y su primer índice o posición es la 0. Además, existen unos arrays especiales en PHP denominados asociativos en los que el índice es un valor de tipo string, de modo que cada posición está definida por el par (clave, valor), pudiendo acceder al contenido (valor) a través de la clave. Ejemplo de array escalar: <?php $array[0] = “Mi Nombre”; $array[1] = “es Carlos y tengo”; $array[2] = “20 años”; $array[] = “y estudio telemática”; //Lo insertara en la posición 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 años”; $array[“Estudio”] = “y estudio telemática”; //Lo insertara en la posición 3. echo $array[“Nombre”].$array[“Es”].$array[“Tengo”].$array[“Estudio”]; ?> 1.5 Funciones para variables Gettype (variable): Devuelve el tipo de dato pasado como parámetro, 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 función 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 parámetros el nombre de la variable a destruir. Empty (variable): Devuelve true si la variable aún no ha sido inicializada o bien tiene un valor de 0 o es una cadena vacía y, en caso contrario devuelve false. www.zanphp.com                                                                                                                                                                                                                                  7  |  P á g i n a    
  • 8.     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 número o cadena numérica. Is_bool (var): True si la variable es de tipo lógico. 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 parámetro. En particular, la función intval() puede recibir además un segundo parámetro que representa la base a utilizar en la conversión (10 = decima, 8 = octal y 16 = hexadecimal), tomando por defecto la base 10 de los números decimales. 1.6 Constantes Una constante es una variable que mantiene el mismo valor durante la ejecución 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 función nos permite crear una constante asignándole su nombre y su valor a través de los parámetros que recibe. Defined (constante): Esta función devuelve true si la constante está definida y existe. 1.6.1 Constantes Predefinidas Constante Significado PHP_VERSION Cadena que representa la versión del intérprete de PHP en uso. PHP_OS Cadena con el nombre del sistema operativo con el que se está ejecutando el intérprete de PHP. TRUE Verdadero. FALSE Falso. E_ERROR Información sobre errores distintos a los de interpretación del cual no es posible recuperarse. www.zanphp.com                                                                                                                                                                                                                                  8  |  P á g i n a    
  • 9.     E_PARSE Informa que el intérprete encontró una sintaxis inválida en el archivo de comandos. Finaliza la ejecución. E_NOTICE Informa que se produjo algo incorrecto que puede provenir o no de un error. La ejecución continúa. E_WARNING Denota un error que no impide que continúe la ejecución. 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 más operandos. Podemos encontrar varios tipos de operadores. 1.7.1 Operadores Aritméticos Estos operadores funcionan igual que en la aritmética básica y se pueden aplicar a las variables y constantes numéricas. Son los siguientes: Operador Ejemplo Descripción + $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 división entera 1.7.2 Operadores de asignación El operador de asignación más utilizado es “=”; su función básica es asignar un valor a una variable, para que de este modo se pueda conservar dicho valor en memoria. El operador de asignación es un operador binario que siempre toma la forma: Variable = Expresión Este operador de asignación hace que la variable de la izquierda tome el valor de la expresión de la derecha. PHP soporta otros operadores de asignación, que realmente son una combinación del operador de asignación básico con operadores aritméticos y con el operador de concatenación de cadenas. www.zanphp.com                                                                                                                                                                                                                                  9  |  P á g i n a    
  • 10.     Operador Ejemplo Descripción = $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 programación como C, PHP soporta operadores específicos para incrementar y decrementar el valor de las variables. Además, el momento de su ejecución dependerá de la posición en la que aparezcan respecto de la variable a la que son aplicados. Operador Ejemplo Descripción ++$a Preincremento: Incrementa $a ++ en uno y después devuelve $a. $a++ Postincremento: Devuelve $a y después incrementa en uno $a. --$a Predecremento: Decrementa $a -- en uno y después devuelve $a. $a-- Postdecremento: Devuelve $a y después Decrementa en uno $a. 1.7.4 Operadores de comparación Operador Ejemplo Descripción == $a == $b Los operandos son iguales. != $a != $b Los operandos son distintos. === $a === $b Los operandos son idénticos: iguales y del mismo tipo. !== $a !== $b Los operandos no son iguales o del mismo tipo. El operando de la izquierda es < $a < $b menor que el operando de la derecha. El operando de la izquierda es > $a > $b menor o igual que el operando de www.zanphp.com                                                                                                                                                                                                                                  10  |  P á g i n a    
  • 11.     la derecha. .<= $a <= $b El operando de la izquierda es menor o igual que el de la derecha. El operando de la izquierda es >= $a >= $b mayor o igual que el de la derecha. 1.7.5 Operadores lógicos Los operadores lógicos (también llamados operadores booleanos) se utilizan conjuntamente con expresiones que devuelven valores lógicos. Con estos operadores se pueden combinar varias condiciones y evaluarlas en una sola expresión. Operador Ejemplo Descripción && $a && $b $a y $b son ambos true. and $a and $b || $a || $b $a o $b son true. or $a or $b $a es false, niega el valor lógico ! ! $a 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 ejecución básico del programa, es decir, gracias a ellas la ejecución no tiene por qué ser totalmente secuencial, vamos a poder controlar el flujo lógico de cualquier programa. Estas estructuras nos permiten bifurcar el flujo del programa y así ejecutar unas partes u otras del código según se cumplan una serie de condiciones, hacer que un determinado código no llegue a ejecutarse nunca o que lo haga tantas veces como queramos. 2.1 Sentencias condicionales Son las estructuras de control más sencillas, se basan en el uso de la sentencia if…else y en las diferentes formas que ésta puede presentar. Utilizando estas sentencias, somos capaces de hacer que el programa elija entre dos caminos de ejecución diferentes en función de la evaluación de una expresión lógica. www.zanphp.com                                                                                                                                                                                                                                  11  |  P á g i n a    
  • 12.     2.1.1 If Es una de las más utilizadas e importantes en la mayoría de los lenguajes de programación. Su sintaxis es la siguiente: If (condición) { [sentencias] } El intérprete de PHP lo que hace es evaluar la condición, que debe ser una expresión lógica y, si resulta verdadera, se ejecutarán las sentencias comprendidas entre las llaves “{” y “}” y, si es falsa, PHP ignorará las sentencias y seguirá con la ejecución normal del programa, es decir, nos permite tomar decisiones en torno a una condición. 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 número 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 if…else consta de un bloque if que se ejecuta cuando la expresión se evalúa a true y de un bloque else cuyas instrucciones se ejecutarán cuando se evalúa a false. La sintaxis de la instrucción if…else es la siguiente: If (expresión) { [sentencias] } else { [sentencias] } www.zanphp.com                                                                                                                                                                                                                                  12  |  P á g i n a    
  • 13.     2.1.3 If…elseif Hay muchas ocasiones en que se quiere evaluar una nueva comprobación 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 if…elseif es la siguiente: If(expresión) { [sentencias] } elseif(expresión) { [sentencias] } elseif(expresión) { [sentencias] } else { [sentencias] } Ejemplo: <? echo “Hoy es: ”; $dia = date(“D”); if($dia == “Mon”) echo “Lunes”; elseif($dia == “Tue”) echo “Martes”; elseif($dia == “Wed”) echo “Miércoles”; elseif($dia == “Thu”) echo “Jueves”; elseif($dia == “Fri”) echo “Viernes”; elseif($dia == “Sat”) echo “Sábado”; else echo “Domingo”; ?> 2.1.4 If compacto PHP utiliza dos operadores (“?” y “:”) para formar expresiones condicionales que devolverán uno de dos posibles valores basándose en el valor lógico obtenido al evaluar una expresión. La sintaxis de estos operadores es: <expresion1> ? <expresion2> : <expresion3>; De este modo considerando expresión1, si ésta se evalúa a true, entonces de devolvería la evaluación de expresión2; en caso contrario, el valor devuelto sería el resultado de evaluar la expresión3. www.zanphp.com                                                                                                                                                                                                                                  13  |  P á g i n a    
  • 14.     <?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 múltiples sentencias if o con una sentencia if…elseif múltiple, pero la sentencia switch es mucho más 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 “Miércoles”; break; case “Thu”: echo “Jueves”; break; case “Fri”: echo “Viernes”; break; case “Sat”: echo “Sábado”; break; default: echo “Domingo”; } ?> 2.1.6 For Esta instrucción nos permite realizar un conjunto de instrucciones un determinado número de veces. Es una de las estructuras de control sintácticamente más compleja de PHP. www.zanphp.com                                                                                                                                                                                                                                  14  |  P á g i n a    
  • 15.     For ([inicialización]; [condición]; [bucles]) { [sentencias] } Las tres expresiones cerradas entre paréntesis son opcionales, pero es necesario escribir los caracteres punto y coma (“;”) que las separan aunque las expresiones se omitan, para que cada expresión permanezca en el lugar apropiado. <? echo “La suma de los 10 primeros números 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 iteración uno de sus elementos componentes. También 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 posición actual del array (comenzando por la primera y siguiendo en orden ascendente) y que va actualizando de forma automática en cada una de las iteraciones. <?php $array=array("Manzana","Pera","Platano"); reset($array); foreach ($array as $fruta){ echo "Fruta:$fruta<br>n"; } ?> También está función se puede aplicar a un array de tipo asociativo, en el que el índice en cada elemento no es de tipo numérico. www.zanphp.com                                                                                                                                                                                                                                  15  |  P á g i n a    
  • 16.     $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 actúa de forma muy parecida a la sentencia for, pero se diferencia de ésta en que no incluye en su declaración la inicialización 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 (condición) { [sentencias] } Con esta instrucción se va a poder ejecutar un conjunto de instrucciones un indeterminado número de veces, siempre y cuando el resultado de comprobar la condición sea verdadera (debe ser una expresión que se evalúe a un valor lógico). Si la condición se evalúa a true, se ejecutan las sentencias del cuerpo del bucle; después de ejecutarlas, se volverá a evaluar la condición, de forma que, si ésta sigue cumpliéndose, se volverán a ejecutar las sentencias. Esto se repite hasta que la condición se evalúa a false, en cuyo caso no se ejecutarán las sentencias del cuerpo del bucle y continuará la ejecución del script por la instrucción siguiente a la sentencia while. <?php /* ejemplo 1 */ $i = 1; while ($i <= 10) { print $i++; /* el valor impreso sería $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 iteración en vez de al principio. La principal diferencia frente a los bucles regulares while es que se garantiza la ejecución de la primera iteración de un bucle www.zanphp.com                                                                                                                                                                                                                                  16  |  P á g i n a    
  • 17.     do...while (la condición se comprueba sólo al final de la iteración), mientras que puede no ser necesariamente ejecutada con un bucle while regular (la condición se comprueba al principio de cada iteración, si esta se evalúa como FALSE desde el principio la ejecución del bucle finalizará inmediatamente). <?php $i=0; do{ print $i; } while($i>0); ?> 2.1.9 Include Esta función incluye y evalúa un fichero externo cada vez que es interpretada. Ambos pasos, la inclusión del fichero externo y su posterior evaluación, se realizan cada vez que el flujo del programa llega a una línea que contenga la llamada a esta función. En caso de que el fichero a incluir no exista o su referencia sea errónea, la función genera un aviso o warning, continuando con la ejecución por la siguiente instrucción. Cuando un archivo se incluye con include(), el intérprete 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 razón, cualquier código dentro del archivo referenciado que debiera ser ejecutado como código PHP debe ser encerrado dentro de etiquetas válidas 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 evalúa el archivo especificado. Require() e include() son idénticas 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 página. 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 información por la salida estándar; no soportan ningún atributo de formato de salida y sólo admiten una única cadena como argumento en su llamada (cuando necesitamos pasar más de un argumento a cualquiera de estas funciones, deberemos utilizar las comillas). www.zanphp.com                                                                                                                                                                                                                                  17  |  P á g i n a    
  • 18.     Printf (formato [, argumentos]): Imprime información por la salida estándar soportando diferentes formatos de salida. Admite múltiples 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 mostrarán directamente, mientras que otros, los que van precedidos por el carácter “%”, conocidos como especificaciones de conversión, son utilizados para formatear la información. Strlen(cadena): Devuelve la longitud de la cadena pasada como argumento. Strstr(cadena, cadBusq), strchr(cadena, cadBusq): Busca la aparición de una cadena dentro de otra y devuelve la subcadena comprendida entre la primera aparición de la cadena buscada (incluyéndola) hasta el final de la cadena en la que se realiza la búsqueda. La búsqueda diferencia entre mayúsculas y minúsculas. Strrchr(cadena, cadBusq): Busca la aparición de un carácter 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 carácter. Stristr(cadena, cadBusq): Es igual a strstr(), salvo que no diferencia entre mayúsculas y minúsculas. Strpos(cad1, cad2 [, desplz]): Encuentra la primera posición de aparición de una cadena a partir de una cierta posición (si no se indica, el valor por defecto para el desplazamiento es 0). Strspn(cadena, máscara): Obtenemos la longitud de la subcadena más larga que está formada sólo por caracteres contenidos en una máscara. Una vez encontrado un carácter que no está en la máscara se abandona la búsqueda. 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 [, tamaño]): Devuelve la subcadena que se encuentra a partir de una posición dada y llega hasta el final de la cadena original, pudiendo de forma opcional decidir el tamaño de la subcadena a recuperar. Substr_replace(cad1, cad2, inicio [, tamaño]): Devuelve una cadena que es resultado de la sustitución de parte del contenido de una cadena original (indicado por una posición de inicio y opcionalmente por un tamaño) por el contenido de otra cadena. La cadena original no sufre ninguna modificación. Str_replace(cadBus, CadRee, Cadena): Devuelve una cadena, que es resultado de la sustitución de todas las apariciones de una subcadena, por otro contenido en la cadena original. Substr_count(cadena, patrón): Devuelve el número 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 línea 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. www.zanphp.com                                                                                                                                                                                                                                  18  |  P á g i n a    
  • 19.     Str_pad(cadena, long): Rellena una cadena con un carácter 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 minúsculas. Strtoupper(cadena): Convierte una cadena de caracteres a mayúsculas. Ucfirst(cadena): Se encarga de convertir a mayúscula el primer carácter de una cadena de caracteres, siempre que éste sea alfabético. Ucwords(cadena): Se comporta igual que la función anterior, salvo que ésta convierte a mayúsculas el primer carácter de cada palabra que compone la cadena, siempre y cuando sean caracteres alfanuméricos. 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(patrón, cadena): Devuelve un array resultado de dividir una cadena en diferentes subcadenas. El número total de elementos del array puede ser elegido a través de un parámetro opcional.} Explode(patrón, 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 función htmlspecialchars(), salvo que esta función 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 función regular; tiene la siguiente definición: 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() también nos permite asignar los elementos del array en el orden en que queramos. Para ello, indicamos el índice, seguido del símbolo “=>” y el valor del elemento. Ejemplo: $vector = array(2 => “Manzana”, 0 => “Platano”, “Pera”); Los elementos a los que no se les asigna explícitamente un índice toman la posición secuencial relativa a la última asignación de posición dentro del array. www.zanphp.com                                                                                                                                                                                                                                  19  |  P á g i n a    
  • 20.     Arrays Asociativos A diferencia de los arrays simples, los arrays asociativos (también conocidos como tablas hash o arrays indexados por cadena) están formados por un conjunto de valores que están 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 explícita 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 combinación 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”] = “Dólar”; $matriz[“dolar”][“cambio”] = “0.1”; Funciones para arrays Current(array): Devuelve el valor de la posición actual del puntero dentro del array: todos los arrays tienen un puntero interno que apunta a la posición del elemento actual con el que se está trabajando en un momento dado. Key(array): Devuelve el índice de la posición actual del array pasado como argumento. Next(array): Devuelve el valor del elemento siguiente al actual (si existe) y avanza el puntero interno una posición. Prev(array): Devuelve el valor del elemento anterior al actual (si existe) y retrocede el puntero interno una posición. 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 sitúa el puntero interno en su primera posición. 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 operación. Suele utilizarse en combinación con la función each(). www.zanphp.com                                                                                                                                                                                                                                  20  |  P á g i n a    
  • 21.     Array_keys(array): Devuelve las claves que forman el array matriz. Admite un parámetro opcional que nos permite seleccionar sólo las claves cuyo valor coincida con un patrón dado. Array_values(array): Devuelve los valores que forman parte del array pasado como parámetro. Sort(array): Ordena alfanuméricamente los valores de los elementos de un array de menor a mayor. Para ordenar de manera inversa, disponemos de la función rsort(array). Asort(array): Ordena alfanuméricamente los valores de los elementos de un array de mayor a menor, pero manteniendo la relación existente entre los índices y sus valores asociados. Arsort(array) realiza la ordenación inversa. Ksort(array): Ordena alfanuméricamente las claves de un array de menor a mayor manteniendo las correlaciones entre clave y valor asociado. Krsort(array) realiza la ordenación inversa. Array_merge(array1, array2): Combina en un solo array los valores de los arrays que recibe como argumentos. Array_pad(array, tamaño, relleno): Devuelve un array igual a matriz, pero modificando su número de elementos hasta alcanzar la longitud deseada (tamaño) añadiendo nuevos elementos por la derecha (tamaño es positivo) o por la izquierda (tamaño es negativo). Array_slice(array, desplazamiento [, int tamaño]): Devuelve los elementos del array que están situados a partir de una posición determinada por desplazamiento. Opcionalmente, podemos indicar el total de elementos que queremos. Array_splice(array, desplz [,tam [array substituto]]): Elimina elementos de un array, sustituyéndolos opcionalmente por los elementos de otro array (substituto). Array_push(array, valor1 [, valor2, …]): Inserta uno o más 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 más elementos al principio del array. Array_reserve(array): Devuelve el array pasado como parámetro, 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 función, 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 función podremos saber si un elemento está contenido dentro de un array. Compact(): Esta función 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. www.zanphp.com                                                                                                                                                                                                                                  21  |  P á g i n a    
  • 22.     5 Funciones La sintaxis de la declaración de una función es la siguiente: Function nombreFunción([parametro1 [,…]]) { [sentencias] } Una vez declarada una función, ésta no se ejecuta hasta que se le llama desde cualquier parte del script. Para llamar a una función, sólo hay que escribir una sentencia que contenga el nombre de la función y, entre paréntesis, 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 parámetros o argumentos. De esta forma conseguimos que la función sea más utilizable dentro del propósito 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 aquéllas que se definen fuera del cuerpo de una función y son accesibles, en general, desde cualquier punto del código. En PHP, las variables globales deben ser declaradas globales dentro de la función si van a ser utilizados dentro de dicha función, anteponiendo a su definición la palabra reservada global. Un segundo método 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 función y sólo pueden ser accedidas desde dentro de esta función. Cualquier variable que se use dentro de una función está, por defecto, limitada al ámbito local de la función. Esto quiere decir que, si declaramos una variable local con el mismo nombre que una variable global, dentro de la función trabajaremos con la versión local de la variable. <?php $inicio = 0; www.zanphp.com                                                                                                                                                                                                                                  22  |  P á g i n a    
  • 23.     $final = 9; Function cuentaAtras() { Global $final; #Variable global. $inicio = 7; #Variable local. Static $num = 0; #Variable estática 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, también pueden devolverlos. La devolución de un valor desde una función trabaja de igual forma que la devolución de un valor en una expresión, de manera que el valor devuelto desde una función puede ser asignado a una variable o utilizado dentro de una expresión. Se puede devolver cualquier tipo de valores incluyendo listas y objetos, pero sólo un único valor; para devolver múltiples 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 función es recursiva cuando en algún punto de su cuerpo se llama a sí misma. Hay que tener cuidado al escribir una función recursiva, ya que puede ocurrir que se llame a sí misma indefinidamente. Por tanto, es esencial asegurarse de implementar una forma adecuada de terminar la recursión: es lo que se denomina como condición de parada. La recursión nos sirve para solucionar algunos problemas complejos; un ejemplo típico de recursión es hallar el factorial de un número. <?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; } www.zanphp.com                                                                                                                                                                                                                                  23  |  P á g i n a