php 5.5.pdf

322

Upload: rubi-poot

Post on 14-Oct-2015

335 views

Category:

Documents


10 download

TRANSCRIPT

  • www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85109 1/1

    ndice

    Ttu lo , autor. . .

    Objetivo del libroBreve historia de PHPDnde conseguir PHP?Convenciones de escritura

    Informacin

    Introduccin

    Informacin general sobre PHPVariables, constantes, tipos y matricesOperadoresEstructuras de controlFunciones y clasesGestin de formulariosAcceder a las bases de datosAdministrar las sesionesEnviar un correo electrnicoGestin de archivosAdministrar los errores en un script PHPAnexo

    PHP 5.5Desarrollar un sitio Web dinmico e interactivoEste libro sobre PHP 5.5 est dirigido a diseadores y desarrolladores quedesean utilizar PHP para desarrollar un sitio web dinmico e interactivo. Despus de presentar los principios bsicos del lenguaje, el autor secentra en las necesidades especficas del desarrollo de sitios dinmicos einteractivos, proporcionando respuestas completas y precisas a lascuestiones ms habituales (gestin de formularios, acceso a bases dedatos, gestin de sesiones, envo de mensajes de correo electrnico...). Para todas las caractersticas detalladas, se presentan y comentannumerosos ejemplo de cdigo. Este libro de referencia, a la vez completo yconciso, le permite ir directamente al grano: es el libro ideal para iniciarseen PHP. Los ejemplos que aparecen en el libro se pueden descargar en esta pgina.

    Los captulos del libro:Introduccin - Informacin general sobre PHP - Variables, constantes, tiposy matrices - Operadores - Estructuras de control - Funciones y clases -Gestin de formularios - Acceder a las bases de datos - Administrar lassesiones - Enviar un correo electrnico - Gestin de archivos - Administrarlos errores en un script PHP - Anexo

    Olivier HEURTELDespus de ms de ocho aos en una empresa de servicios, dondesucesivamente desempe labores de desarrollador, administrador deproyectos y director de proyectos, Olivier HEURTEL inici una actividadcomo consultor/formador independiente especializado en bases de datos(Oracle), desarrollo Web (PHP) y los sistemas de apoyo a las decisiones.Tambin es poseedor del certificado Oracle Certified Professional.

    Materia l dedescarga

    Archivos adicionales

    Publicacin: febrero 2014Ref. ENI : RIT5.5PHPISBN : 9782746087989

    Comprarla versinimpresa

    PHP 5.5 - Desarrollar un s itio Web dinmico e interactivo

    Buscar FavoritoNotas y marca pginasndice

    Inicio Anterior

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85121 1/3

    nombre Nombre de la constante (ver seccin Estructura bsica deuna pgina PHP - Normas de denominacin en el captuloInformacin general sobre PHP).

    valor Valor de la constante.sensible_maysculas Indica si el nombre de la constante es sensible a

    maysculas y minsculas (TRUE - valor predeterminado)o no (FALSE).

    Constantes

    1. DefinicinLa funcin define o la palabra clave const (desde la versin 5.3) permiten definir una constante.Una constante es un rea de memoria identificada por un nombre que contiene un valor legible, perono modificable en el programa.Sintaxis

    booleano define(cadena nombre, mixto valor[, booleano sensible_maysculas)const nombre = valor

    La funcin define devuelve TRUE en caso de xito y FALSE en caso de error.Cualquier tipo de dato escalar (vase la seccin Tipos de datos en este captulo) se puede utilizar comotipo de datos de una constante.El nombre de una constante no puede comenzar con un $ ya que este prefijo est reservado al nombrede las variables (vase la seccin Variables en este captulo). Definir una constante cuyo nombrecomienza por $ no genera un error (define devuelve TRUE). Sin embargo, cuando se utiliza, laconstante se ver como una variable no inicializada.Una vez creada, una constante no se puede cambiar, ni por una nueva llamadaa define(devuelve FALSE y deja el valor de la constante inalterado), ni por asignacin directa(genera un error de anlisis de la secuencia de comandos).Ejemplo

    Resultado

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    2/3

    nombre Nombre de la constante.

    CONSTANTE = valor de CONSTANTE constante = constante => interpretada literalmente OTRA_CONSTANTE = PHP 5.5

    Tradicionalmente, los nombres de las constantes se definen en maysculas.Utilizar una constante no definida (o una variable no inicializada) o intentar redefinir una constante yadefinida genera un error de nivel E_NOTICE. El nivel de error reportado por PHP depende de lasdirectivas de configuracin en el archivo php.ini (vase el captulo Administrar los errores en unscript PHP). El resultado anterior corresponde a una configuracin en la que los errores denivelE_NOTICE no se muestran.

    2. AlcanceEl alcance de una constante es la secuencia de comandos en la que se define. Por lo tanto, unaconstante se puede definir en una primera seccin de cdigo PHP y utilizarse en otra seccin de cdigoPHP del mismo script.Ejemplo

    Hola !

    Resultado

    Hola Olivier!

    3. Funciones tilesLa funcin defined permite saber si una constante est definida o no.Sintaxis

    booleano defined(cadena nombre)

    defined devuelve TRUE si la constante est definida y FALSE en caso contrario.Ejemplo

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85121 3/3

    nombre Nombre de la constante.

    echo CONSTANTE no est definida.; }; // Definir la constante CONSTANTE define(CONSTANTE,valor de la CONSTANTE); // Probar si la constante CONSTANTE est definida. $ok = defined(CONSTANTE); if ($ok) { echo CONSTANTE est definida.; } else { echo CONSTANTE no est definida.; }; ?>

    Resultado

    CONSTANTE no est definida. CONSTANTE est definida.

    En este ejemplo se utiliza la estructura de control if, que permite probar una condicin yactuar en consecuencia (vase el captulo Estructuras de control).

    La funcin constant devuelve el valor de una constante cuyo nombre se pasa como parmetro.Sintaxis

    mixto constant(cadena nombre)

    Con

    Esta funcin es til para recuperar el valor de una constante cuyo nombre no se conoce a priori.Ejemplo

    Resultado

    CONSTANTE = valor de la CONSTANTE

    Otras funciones permiten conocer el tipo de una constante (vase la seccin Tipos de datos - Funcionestiles).

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    1/7

    VariablesUna variable es un rea de memoria identificada por un nombre que contiene un valor legible omodificable en el programa.

    1. Inicializacin y asignacinEn PHP, las variables se identifican por el prefijo $ seguido de un nombre que cumple con las reglas dedenominacin presentadas en el captulo Informacin general de PHP.El nombre de las variables es sensible a maysculas y minsculas: PHPconsidera $nombre y$Nombre como variables diferentes. Este comportamiento es peligroso ya que,en caso de utilizar una sintaxis incorrecta, se crea una nueva variable vaca con un simple error denivel E_NOTICEque no se puede mostrar (vase el captulo Administrar los errores en un script PHP).Por tanto, es esencial adoptar una convencin de denominacin y respetarla. Algunas sugerencias:

    todo en minsculas ($nombre).primera letra en mayscula y el resto en minsculas ($Nombre).primera letra de cada palabra en mayscula y el resto en minsculas ($NombreDePila).

    Las variables de PHP se definen automticamente la primera vez que se utilizan. No hay instruccionesespecficas para crear una variable.Las variables de PHP se escriben de forma automtica; cada vez que se asigne un valor a una variable,el tipo de variable se define o se redefine automticamente (vase la seccin Tipos de datos).Un valor se puede asignar a una variable mediante el operador de asignacin "=" (vase el captuloOperadores para obtener una lista de todos los operadores).Ejemplo

    Resultado (los errores de nivel E_NOTICE no se muestran)

    $nombre = Olivier $Nombre = => vaco (es otra variable) $nombre = 123

    A lo largo de este libro, tendremos la oportunidad de conocer las variables definidasautomticamente por PHP y que contienen valores relativos al entorno, a PHP, a formularios,

    cookies...

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    2/7

    Nombre Funcinempty Indica si una variable est vaca o no.isset Indica si una variable est definida o no.unset Elimina una variable.var_dump Muestra la informacin sobre una variable (tipo y valor).

    2. Alcance y duracinEl alcance de una variable es la secuencia de comandos en la que se define. Por lo tanto, una variablese puede definir en una primera seccin de cdigo PHP y utilizarse en otra seccin de cdigo PHP delmismo script.La duracin de una variable es el tiempo de ejecucin del script. Cuando el script termina, las variablesse eliminan. Si ms adelante se llama al mismo script, se definen nuevas variables.Ejemplo

    Resultado de la primera llamada del script

    $nombre = $nombre = Olivier

    Resultado de la segunda llamada del script

    $nombre = $nombre = Olivier

    Entre las dos llamadas, se ha eliminado la variable. Al comienzo de la segunda llamada, no contiene elvalor que tena al final de la primera llamada (no es la misma variable).

    En en el captulo Gestin de sesiones, veremos cmo conservar el valor de una variable msall de la ejecucin del script o cmo transmitir el valor de una variable de un script a otro.

    3. Funciones tilesPHP ofrece una serie de funciones tiles en las variables:

    emptyLa funcin empty permite probar si una variable est vaca o no.

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    3/7

    variable Variable que se va a probar.

    Sintaxis

    booleano empty(mixto variable)

    empty devuelve TRUE si la variable est definida y FALSE en caso contrario.Una variable se considera vaca si no ha sido asignada o si contiene una cadena vaca (""), una cadenaigual a 0 ("0"), 0, NULL o FALSE.Desde la versin 5.5, la funcin empty se puede utilizar para probar si una expresin est vaca o no.Ejemplo

  • 24/4/2014 ENI Training - Libro online

    4/7

    variable Variable que se va a probar; pueden ser varias, separadas por unacoma.

    ?>

    Resultado

    $variable no inicializada => $variable est vaca. $variable = => $variable est vaca. $variable = 0 => $variable est vaca. $variable = 0 => $variable est vaca. $variable = x => $variable no est vaca.

    issetLa funcin isset permite probar si una variable est definida o no.Sintaxis

    booleano isset(mixto variable[,...])

    isset devuelve TRUE si la variable est definida y FALSE en caso contrario.Si se facilitan varios parmetros, la funcin devuelve TRUE nicamente si se definen todas las variables.Una variable se considera como no definida si no se ha visto asignado o si contiene NULL. A diferenciade la funcin empty, una variable que contiene una cadena vaca (""), una cadena igual a 0 ("0"),un 0 o FALSE, no se considera como no definida.Ejemplo

  • 24/4/2014 ENI Training - Libro online

    5/7

    variable Variable que se va a eliminar (para eliminar varias, deben estarseparadas por una coma).

    echo => $variable est definida.; } else { echo => $variable no est definida.; } // Prueba de una variable que contiene 0. $variable = 0; $est_definida = isset($variable); echo $variable = ,$variable,; if ($est_definida) { echo => $variable est definida.; } else { echo => $variable no est definida.; } // Prueba de una variable que contiene una cadena no vaca. $variable = x; $est_definida = isset($variable); echo $variable = \,$variable,\; if ($est_definida) { echo => $variable est definida.; } else { echo => $variable no est definida.; } ?>

    Resultado

    $variable no inicializada => $variable no est definida. $variable = => $variable est definida. $variable = 0 => $variable est definida. $variable = 0 => $variable est definida. $variable = x => $variable est definida.

    unsetLa funcin unset permite eliminar una variable.Sintaxis

    unset(mixto variable[, ...])

    unset acepta una lista de variables.Despus de la eliminacin, la variable se encuentra en el mismo estado que si no hubiera sidoasignada. El uso de la funcin isset en una variable eliminada devuelve FALSE.Ejemplo

  • 24/4/2014 ENI Training - Libro online

    6/7

    variable Variable que se va a mostrar (pueden ser varias, separadas poruna coma).

    $est_definida = isset($variable); echo $variable = ,$variable,; if ($est_definida) { echo => $variable est definida.; } else { echo => $variable no est definida.; } // Eliminar la variable. unset($variable); // Mostrar la variable y probar si est definida. $est_definida = isset($variable); echo $variable = ,$variable,; if ($est_definida) { echo => $variable est definida.; } else { echo => $variable no est definida.; } ?>

    Resultado

    $variable = 1 => $variable est definida. $variable = => $variable no est definida.

    Al asignar un 0 o una cadena vaca a una variable, no se borra.

    var_dumpLa funcin var_dump muestra informacin sobre una variable (tipo y contenido).Sintaxis

    var_dump(mixto variable)

    La funcin var_dump es especialmente interesante en las fases de desarrollo.Ejemplo

  • 24/4/2014 ENI Training - Libro online

    7/7

    $variable = abc; // cadena de caracteres // mostrar la informacin sobre la variable echo ; var_dump($variable); ?>

    Resultado

    NULL int(10) float(3.14) string(3) "abc"

    Para una variable no inicializada, var_dump devuelve NULL. Para un nmero, var_dump indica el tipo(int = entero, float = nmero decimal) seguido por el valor entre parntesis. Para unacadena, var_dump indica el tipo (string), seguido de la longitud entre parntesis, seguido por elvalor entre comillas.PHP tambin ofrece las funciones print_r y var_export, que son similares a la funcinvar_dump.La funcin print_r muestra o devuelve el contenido de la variable en una forma ms legible, sinmencionar el tipo de datos. La funcin var_export muestra o devuelve una cadena que ofrece uncdigo PHP de definicin de la variable; esta funcin apareci en la versin 5.

    En la seccin Tipos de datos de este captulo, estudiaremos otras funciones que permitendeterminar el tipo de una variable y realizar conversiones de tipos (de nmero a cadena, de

    cadena a nmero...).

    4. Variable dinmica (o variable variable)PHP ofrece una funcin de variable dinmica (tambin llamada variable variable) til en determinadassituaciones.El principio consiste en utilizar una variable que almacena el nombre de otra variable y, a continuacinse hace referencia a ella con una notacin, del tipo $$variable o ${$variable}. Con estanotacin, la $variable "interior" se sustituye por el valor de la variable $variable(valor porejemplo) que se utiliza como un nombre de variable por la $ "exterior" (es decir,$valor en nuestroejemplo).Ejemplo

    Resultado

    $una_variable = 10 $nombre_variable = una_variable $$nombre_variable = 10

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    1/13

    Tipos de datos

    1. Tipos disponiblesPHP dispone de cuatro tipos de datos escalares (slo pueden contener un valor), dos tipos compuestos(pueden contener varios valores) y dos tipos especiales:

    Tipos escalares:nmero enteronmero de punto flotantecadena de caracteresbooleano

    Tipos compuestos:matriz (vase la seccin Matrices de este captulo)objeto (vase el captulo Funciones y clases)

    Tipos especiales:NULLRecurso

    EnteroEl tipo entero (integer) permite almacenar un nmero entero de 32 bits, cuyos valores estncomprendidos entre -2 147 483 648 (-231) y +2 147 483 647 (+231-1).En caso de desbordamiento de capacidad en un clculo, el resultado se convierte automticamente aun nmero de punto flotante.

    Nmero de punto flotanteEl tipo nmero de punto flotante (float) permite almacenar un nmero decimal en un rango de valoresdependiente de la plataforma (normalmente del orden de 10-308 a 10+308).Este nmero se puede expresar en notacin decimal x.y (por ejemplo, 123.456) o en notacin cientficax.yEz o x.yez (por ejemplo 1.23456E2).En caso de conversin de un nmero de punto flotante en entero, el nmero se trunca (no seredondea) al entero ms prximo (1.9 da 1, por ejemplo). En caso de desbordamiento de capacidad, noaparece ningn mensaje, pero el valor a la llegada est definido (normalmente 0).

    PHP ofrece bibliotecas especiales (tambin llamadas Libreras) para manejar los nmeros degran tamao (bibliotecas BC o GMP).

    Cadena de caracteresEl tipo cadena de caracteres (string) permite almacenar cualquier secuencia de caracteres de un byte

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    2/13

    (cdigo ASCII entre 0 y 255), sin limitacin de tamao.Una expresin literal de tipo cadena de caracteres se puede especificar entre comillas ("esto es unacadena") o entre apstrofos (esto tambin es una cadena) con importantes diferencias en elcomportamiento, que se describen a continuacin.Las comillas presentes en una cadena delimitada por comillas o los apstrofos presentes en unacadena delimitada por apstrofos deben "escaparse", es decir, deben ir precedidos por una barrainvertida (\). Adems, una barra invertida al final de esta cadena, justo antes de la comilla o elapstrofo final, tambin debe escaparse mediante una barra invertida.Ejemplo

    Resultado

    Its raining. Yo digo "hola".

    Una cadena se puede introducir en varias lneas, pero se muestra en una sola lnea en el navegador.Para mostrar una cadena en varias lneas en el navegador, debe insertar una etiqueta.

    Resultado

    Yo me llamo Olivier y vivo en Francia. Yo me llamo Olivier y vivo en Francia.

    Cuando una cadena est delimitada por comillas, cualquier secuencia de caracteres que comience conel signo $ se interpreta como una variable y se sustituye por el valor de la variable: es el mecanismo desustitucin de variables por su valor. Esta caracterstica, muy prctica, no funciona con las cadenasdelimitadas por apstrofos (primera diferencia entre los dos tipos de cadenas).Ejemplo

    Resultado

    Yo me llamo Olivier.

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    3/13

    Yo me llamo $nombre.

    En algunos casos, es posible que este comportamiento no sea el deseado. Basta con escapar el signo$ con la barra invertida (\) para que se comporte como un $.Ejemplo

    Resultado

    $nombre = Olivier

    En otros casos, el comportamiento puede ser deseado si existe la necesidad de adjuntar un textoadicional despus del nombre de la variable.Ejemplo

    Resultado

    Una manzana no es cara. Dos cuestan el doble.

    En este ejemplo, PHP interpreta la "s" plural como perteneciente a la secuencia de caracteres situadadetrs del $ y, por lo tanto, a la variable $frutas que se reconoce y se sustituye por su valor (vaco,ya que la variable no se ha inicializado).La solucin consiste en delimitar el nombre de la variable por llaves en formade {$variable} o${variable}. Antes de la versin 5.1.1, el carcter de escape barra diagonalinversa se poda utilizar antes de la primera llave para cancelar esta interpretacin de las llaves. Desdela versin 5.1.1, este carcter de escape ya no funciona para la llave, por lo tanto, a partir de estaversin utilizamos la notacin {{$fruta}} en lugar de \{$fruta} (vase el ejemplo ms adelante).De todos modos, una llave que no va precedida o seguida por un $ no escapado se deja sin cambios.Ejemplo

    Resultado

    Una manzana no es cara. Dos manzanas cuestan el doble. Tres manzanas cuestan el triple.

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    4/13

    Secuencia Valor\n Salto de lnea (= LF = cdigo ASCII 10)\r Retorno de carro (= CR = cdigo ASCII 13)\t Tabulacin (= HT = cdigo ASCII 9)\v Tabulacin vertical (= VT = cdigo ASCII 11)\e Escape (= ESC = cdigo ASCII 27)\f Pgina siguiente (= FF = cdigo ASCII 12)\\ \ (ya explicado)\$ $ (ya explicado)\nnn El carcter designado por el cdigo ASCII nnn expresado en octal\xnn El carcter designado por el cdigo ASCII nn expresado en hexadecimal

    {$fruta} = {manzana}.

    No hay mecanismo de sustitucin equivalente para las constantes; esta es una razn vlidapara utilizar variables en lugar de constantes reales.

    Adems, se pueden utilizar otras secuencias de escape en las cadenas delimitadas por comillas, perono en las delimitadas por apstrofos (segunda diferencia entre los dos tipos de cadenas).

    Ejemplo

    Resultado

    Yo me llamo Olivier. Yo me llamo Olivier.

    Recordatorio: un salto de lnea en la fuente de la pgina enviada al navegador no causaningn salto de lnea en la pgina. Este es el caso de la secuencia "\n", utilizada en nuestro

    ejemplo. Aqu, la etiqueta provoca el salto de lnea en la pgina actual.

    Es posible acceder al ensimo carcter en una cadena usando la notacin $x[i], $x, designando lavariable de tipo cadena e i el nmero del carcter (el primer carcter lleva el nmero 0). Tambin sepueden utilizar las llaves.Ejemplo

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    5/13

    Resultado

    Or

    PHP es capaz de convertir una cadena en un nmero (entero o decimal) con las siguientes reglas:Si el primer carcter no "blanco" (que no sea el espacio, la tabulacin, LF, CR) no es una cifra,ni un punto ni el signo menos, la cadena se evala a 0 (entero).De lo contrario, PHP extraer todos los caracteres no "blancos" del principio de la cadenahasta que encuentre un carcter no numrico (es decir, que no est entre 1 y 9, que no seaun punto, el signo "menos" y el smbolo cientfico "e" o "E"); la secuencia obtenida seconvierte en un entero (sin punto ni smbolo cientfico) o decimal (en caso de presencia de unpunto o un smbolo cientfico).

    Ejemplo

    Resultado

    1 + "1" = int(2) 1 + "1.5" = float(2.5) 1 + "1.5E2" = float(151) 1 + "1e3" = float(1001) 1 + 1abc = int(2) 1 + "1.5abcd" = float(2.5) 1 + "1.5 abcd" = float(2.5) 1 + ".5" = float(1.5) 1 + "-5" = int(-4) 1 + " \t\n\r 5" = int(6) 1 + "abc1" = int(1)

    El ltimo ejemplo muestra que una cadena que no comienza con un carcter numrico se convierte a unnmero entero igual a 0.Estos mecanismos de conversin son muy prcticos en algunos casos, pero tambin pueden conducir aproblemas difciles de detectar porque PHP rechaza cantidades tan pequeas PHP se niegue a compilarla secuencia de comandos.

    BooleanoEl tipo booleano (boolean) puede tomar dos valores: TRUE (o true) y FALSE (o false).Este tipo de datos se utiliza principalmente en las estructuras de control para probar una condicin (vercaptulo Estructuras de control).

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    6/13

    Valor Resultado de la conversinnmero entero 0nmero decimal 0.000...cadena vaca ("")cadena igual a 0 ("0")matriz vacaobjeto vacoconstante NULL (vase el "tipo" Null)

    FALSE

    todo lo dems TRUE

    TRUE FALSEBooleano -> Nmero 1 0Booleano -> Cadena "1" "" (cadena

    vaca)

    PHP es capaz de convertir cualquier tipo de datos en booleano segn las siguientes reglas:

    Un valor igual a -1 se convierte en TRUE con PHP.

    Por el contrario, PHP es capaz de hacer las conversiones siguientes:

    Teniendo en cuenta la lgica de conversin que se ha indicado anteriormente, es posible probarcualquier variable como un valor lgico (PHP se encarga de la conversin). Este funcionamiento sueleser prctico, pero puede dar lugar a errores difciles de detectar.

    El "tipo" NULLEste tipo, introducido en PHP 4, es algo especial y corresponde al tipo de una variable utilizada sinhaber sido inicializada. Tiene un valor nico, el valor NULL definido por la constante NULL (onull).Si se convierte en booleano, NULL toma el valor FALSE.Ejemplo

    Resultado

    NULL

    El tipo recurso (recurso)Este tipo genrico, introducido en PHP 4 es un poco particular y es una referencia a un recurso externo:archivo abierto, con base de datos, etc.En varias ocasiones en este libro, tendremos la oportunidad de presentar funciones que permitenmanipular estos datos de tipo recurso.

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    7/13

    Notacin Conversin en(int) o (integer) entero(bool) o (boolean) booleano(real), (double) o (float) nmero de punto flotante

    2. ConversionesPHP es capaz de realizar las conversiones automticas implcitas de tipo, de acuerdo con las normaspresentadas en la seccin anterior Tipos disponibles.Cuando un valor/expresin se asigna a una variable, la variable pasa a ser el tipol de valor/expresin.Para determinar el tipo de una expresin compuesta de operandos de tipos diferentes, PHP evala(pero no convierte) los operandos en funcin de los operadores procesados en el orden de precedencia(vase el captulo Operadores - Precedencia de los operadores). Por ejemplo, los dos operandosutilizados en una suma se evalan en nmero, mientras que dos operandos utilizados con el operadorde concatenacin (vase el captulo Operadores - El operador de cadena) se evalan en una cadena.Ejemplo

    Resultado

    $nmero + $cadena = int(579) $nmero . $cadena = string(9) "123456abc" $nmero = int(123) $cadena = string(6) "456abc"

    En el primer ejemplo, la variable $cadena se evala en nmero por ser del tipo esperado por eloperador "+", mientras que en el segundo ejemplo, es $nmero el que se evala en cadena por serdel tipo esperado por el operador "." (concatenacin). Por contra, las ltimas dos visualizacionesmuestran que las variables en cuestin no se han convertido durante las operaciones: conservan sutipo respectivo original.Adems, PHP ofrece una notacin y una funcin para realizar una conversin manual explcita.

    NotacinLa notacin consiste en indicar el nombre del tipo deseado entre parntesis antes de la expresin quese desea convertir. Los valores permitidos son los siguientes:

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    8/13

    (string) cadena(array) matriz(object) objeto

    variable Variable que se va a convertir.tipo Tipo deseado usando uno de los siguientes valores:

    boolean o bool (conversin en booleano)integer o int (conversin en entero)double o float (conversin en nmero de puntoflotante)string (conversin en cadena de caracteres)

    Ejemplo

    Resultado

    (float)"1abc" = float(1) (float)"1.5abc" = float(1.5) (float)"abc1" = float(0) (int)1.7 = int(1) (int)TRUE = int(1) (int)FALSE = int(0) (bool)-1 = bool(true) (bool)0 = bool(false) (bool)1 = bool(true) (bool)"" = bool(false) (bool)"0" = bool(false) (bool)"1" = bool(true) (bool)"a" = bool(true)

    Estos ejemplos permiten encontrar las reglas de conversin mencionadas anteriormente.

    Funcin de conversinLa funcin settype permite convertir una variable de un tipo a otro.Sintaxis

    booleano settype (mixto variable, cadena tipo)

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    9/13

    array (conversin en matriz)object (conversin en objeto)null (conversin en NULL)

    Nombre Funcinis_* Indica si la variable es del tipo dado por *:

    array = matriz;bool = booleano;double, float, real = nmero de punto flotante;int, integer, long = entero;null = tipo NULL;numeric = entero o nmero de punto flotante o una cadena quecontiene un nmero (entero o decimal);object = objeto;string = cadena;

    settype devuelve TRUE en caso de xito y FALSE en caso de error.Ejemplo

    Resultado

    1abc convertido en entero = int(1) 1.7 convertido en entero = int(1) TRUE convertido en cadena = string(1) "1" 0 convertido en booleano = bool(false) -1 convertido en booleano = bool(true)

    En general, es recomendable elegir la conversin explcita: el cdigo es ms legible, ms fcilde mantener y desarrollar.

    3. Funciones tilesAdems, PHP tiene varias funciones tiles para el tipo de variables:

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    10/13

    resource = recurso;scalar = tipo escalar.

    strval Convierte una variable en cadena.floatvaldoubleval

    Convierte una variable en nmero de punto flotante.

    Intval Convierte una variable en entero.Boolval Convierte una variable en booleano.

    variable Variable que se va a probar.

    Funcin Tipo probadois_array matrizis_bool booleanois_doubleis_floatis_real

    nmero de punto flotante

    is_intis_integeris_long

    entero

    is_null tipo NULLis_numeric entero o nmero de punto flotante o una cadena que contiene

    un nmero (entero o decimal).is_object objetois_string cadenais_resource recursois_scalar tipo escalar

    is_*La funcin is_* permite probar si una variable es de un tipo particular.Sintaxis

    booleano is_* (mixto variable)

    Las declinaciones son las siguientes:

    La funcin devuelve TRUE si la variable est definida y FALSE en caso contrario.Ejemplo

  • 24/4/2014 ENI Training - Libro online

    11/13

    variable Variable que se va a procesar.

    } $x = 123abc; if (is_string($x)) { echo $x = "123abc" es del tipo cadena...; } if (! is_numeric($x)) { echo ... pero no del tipo numeric.; } $x = 1.23e45; if (is_numeric($x)) { echo Por el contrario, $x = "1.23e45" es del tipo numeric.; } ?>

    Resultado

    De momento, $x es del tipo NULL. $x = (1 < 2) es del tipo booleano. $x = "123abc" es del tipo cadena... ... pero no del tipo numeric. Por el contrario, $x = "1.23e45" es del tipo numeric.

    En este ejemplo, la funcin is_numeric no aplica las mismas reglas para determinar si una cadenacontiene un nmero que a las utilizadas para la conversin. Con la funcin is_numeric, la cadena nodebe contener caracteres no numricos.

    strvalLa funcin strval devuelve el valor de una variable despus de la conversin en cadena.Sintaxis

    cadena strval(mixto variable)

    Esta funcin slo se aplica a las variables de tipo escalar (no es vlida para las matrices u objetos). Eltipo de la variable permanece sin cambios.Ejemplo

    Resultado

    bool(true) => string(1) "1" float(1.2345) => string(6) "1.2345"

    floatval (o doubleval)La funcin floatval devuelve el valor de una variable despus de la conversin en nmero de punto

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    12/13

    variable Variable que se va a procesar.

    Variable Variable que se va a procesar.

    flotante. La funcin doubleval es un alias de la funcin floatval.Sintaxis

    nmero floatval(mixto variable)

    Esta funcin slo se aplica a las variables de tipo escalar (no es vlida para las matrices u objetos). Eltipo de la variable permanece sin cambios.Ejemplo

    *

    Resultado

    bool(true) => float(1) int(123) => float(123) string(7) "1.23e45" => float(1.23E+45) string(6) "123abc" => float(123) string(14) " 123.45abc" => float(123.45)

    Se han respetado las reglas de conversin evocadas.

    intvalLa funcin intval devuelve el valor de una variable despus de la conversin en entero.Sintaxis

    nmero intval(mixto variable)

    Esta funcin slo se aplica a las variables de tipo escalar (no es vlida para las matrices u objetos).El tipo de la variable permanece sin cambios.Ejemplo

  • 24/4/2014 ENI Training - Libro online

    13/13

    $x = "123abc"; echo var_dump($x), => ,var_dump(intval($x)),; $x = " \n\t\r 123.45abc"; echo var_dump($x), => ,var_dump(intval($x)),; ?>

    Resultado

    bool(true) => int(1) float(123.9) => int(123) string(7) "1.23e45" => int(1) string(6) "123abc" => int(123) string(14) " 123.45abc" => int(123)

    Se han respetado las reglas de conversin evocadas anteriormente. Una vez ms, debemos recordarque un nmero de punto flotante convertido a un entero se trunca y no se redondea: en nuestroejemplo, 123.9 da 123 y no 124. Para convertir un nmero de punto flotante en entero, con redondeo,es necesario utilizar la funcin round().Ejemplo

  • 24/4/2014 ENI Training - Libro online

    1/10

    Clave/ndice Valor0 cero1 uno2 dos3 tres

    Clave/ndice Valor20 veinte30 treinta10 diez

    Clave/ndice Valor0 cero

    cero 0uno 11 uno

    dos 22 dos

    tres 33 tres

    Clave/ndice Valor

    Matrices

    1. DefinicinEn PHP, una matriz es una coleccin (lista de elementos) ordenada por la pareja clave/valor.La clave puede ser de tipo nmero entero o de tipo cadena. En el primer caso, se dice que la matriz esnumrica y la clave se designa por el trmino ndice. En el segundo caso, se dice que la matriz esasociativa: las claves no son necesariamente consecutivas, ni ordenadas y esta matriz puede tenerclaves enteras y claves de tipo cadena.El valor asociado a la clave puede ser de cualquier tipo, incluyendo el tipo matriz, en cuyo caso se diceque la matriz es multidimensional.Ejemplo

    Matriz numrica (ndices ordenados consecutivos)

    Matriz numrica (ndices no ordenados, no consecutivos)

    Matriz mixta

    Matriz multidimensional (lista de ciudades por pas)

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85124 2/10

    Clave/ndice Valor0 cero

    ESPAA Clave/ndice Valor0 Madrid1 Len2 Barcelona

    ITALIA Clave/ndice Valor0 Roma1 Venecia

    2. CreacinUna variable de tipo matriz se puede definir explcitamente a travs de la funcin array oimplcitamente mediante una notacin entre corchetes ([]).Desde la versin 5.4, es posible utilizar una sintaxis abreviada para definir explcitamente una matrizsin utilizar la funcin array.

    Notacin entre corchetes ([ ])Una variable utilizada por primera vez con una notacin de la forma $variable[...], se creaautomticamente con el tipo matriz.Si se efecta la misma operacin en una variable ya definida, con un tipo escalar, produce un mensajede error.El contenido de una matriz puede estar bien definido por varias asignaciones de tipo$matriz[...]= valor.Con una asignacin del tipo $matriz[] = valor, PHP busca el ndice entero mayor utilizado yasocia el valor al ndice inmediatamente superior. Si la tabla est vaca, el elemento se colocar en elndice 0.Con una asignacin del tipo $matriz[clave] = valor, PHP asocia el valor a la clave especificada(que puede ser de tipo entero o de tipo cadena).Ambas notaciones se pueden mezclar en una secuencia de asignacin.Ejemplo

    Resultado

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85124 3/10

    1 uno2 dos3 tres5 cinco6 seis

    uno 17 siete-1 menos uno

    Clave/ndice ValorESPAA Clave/ndice Valor

    0 Madrid1 Len2

    Estas notaciones se pueden utilizar para construir una matriz multidimensional en formade$matriz[...] = $matriz_interior o $matriz[...][...] = valor. La primeranotacin permite almacenar una matriz en una ubicacin de otra matriz, y la segunda notacin,almacenar un valor directamente en una ubicacin dentro de otra matriz.Ejemplo

    Primer mtodo:

    Segundo mtodo:

    Resultado (en ambos casos)

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85124 4/10

    ITALIA Clave/ndice Valor0 Roma1 Venecia

    valor Elemento de la matriz.clave Valor de la clave.

    Clave/ndice Valor0 cero1 uno2 dos3 tres5 cinco6 seis

    uno 1

    La funcin arrayLa funcin array permite crear una matriz a partir de una lista de elementos.Sintaxis

    matriz array([mixto valor[, ...]])

    o

    matriz array([{cadena | entero} clave => mixto valor[, ...]])

    En la primera sintaxis, las claves/ndices no se han especificado y se crea una matriz numrica conndices consecutivos empezando en 0: el primer argumento de la funcin se almacena en el ndice 0, elsegundo en el ndice 1, etc.En la segunda sintaxis, el ndice o la clave se especifican ya sea mediante un nmero entero o unacadena, y se le asocia un valor mediante el operador =>.Ambas sintaxis se pueden mezclar. En este caso, cuando no se ha especificado el ndice o la clave, PHPbusca el ndice entero mayor utilizado y asocia el valor al ndice inmediatamente superior; si no hayndices enteros, el elemento se coloca en el ndice 0.La funcin array, llamada sin argumentos, crea una matriz vaca.Ejemplo

    Resultado

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85124 5/10

    7 siete-1 menos uno

    Clave/ndice ValorESPAA Clave/ndice Valor

    0 Madrid1 Len2 Barcelona

    ITALIA Clave/ndice Valor0 Roma1 Venecia

    La funcin array acepta como argumentos los datos de tipo matriz (ya sea una variable o una llamadaanidada en array), lo que permite crear una matriz multidimensional.Ejemplo

    Primer mtodo:

    Segundo mtodo:

    Resultado (en ambos casos)

    Sintaxis cortoDesde la versin 5.4, es posible definir una matriz explcitamente utilizando una notacin entrecorchetes ([]) en lugar de la funcin array().Ejemplo

    Al igual que al utilizar la funcin array(), otra matriz puede definirse como elemento, ya sea con lafuncin array(), o bien con la sintaxis corta como en el siguiente ejemplo.

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85124 6/10

    $matriz Matriz correspondiente.clave Valor de la clave/ndice.

    Ejemplo

    Esta sintaxis corta permite aligerar la escritura en un cierto nmero de situaciones (pasar de una matrizen parmetro a una funcin, definicin de matrices multidimensionales)..

    3. ManipulacinEn el manejo de matrices existen dos necesidades comunes:

    Acceder a un elemento individual de la matriz.Examinar la matriz.

    Acceder a un elemento individual de la matrizLa notacin entre parntesis se utiliza para acceder, leer o escribir, un elemento individual de la matriz:

    $matriz[{cadena | entero} clave]

    Para las matrices multidimensionales, se deben utilizar varias series de corchetes.Ejemplo

    Resultado

    uno 1 Madrid Venecia

    PHP acepta que omita el delimitador de cadena (comillas o apstrofo) cuando especifica una clave detipo cadena en una matriz asociativa.Ejemplo

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85124 7/10

    // utilizacin de $nmeros[uno] y no $nmeros[uno] echo $nmeros[uno]; ?>

    Resultado (si los errores de tipo E_NOTICE no se muestran)

    1

    Resultado (si los errores de tipo E_NOTICE se muestran)

    Notice: Use of undefined constant uno - assumed uno in /app/scripts/index.php on line 4 1

    Esta sintaxis se acepta (y funciona), pero genera un error de tipo E_NOTICE. PHP considera que laconstante uno no existe y la sustituye por la cadena uno ..., lo que permite obtener el resultadocorrecto... hasta el da en que defina una constante uno con valor 1, por ejemplo. En consecuencia, nose recomienda utilizar esta sintaxis "simplificada".El principio de sustitucin de variables en las cadenas delimitadas por comillas funciona con lasmatrices. Es necesario utilizar llaves para delimitar la expresin en dos casos:

    Para especificar una clave de tipo cadena expresada en forma de un literal:{$matriz[...]}Para una matriz multidimensional:{$matriz[...][...]}

    Ejemplo

    Resultado

    $nmeros[1] = uno $nmeros[un] = 1 $ciudades[ESPAA][0] = Madrid

    Examinar la matrizSe pueden utilizar multitud de mtodos para examinar una matriz con las siguientes construcciones:

    la estructura de control iterativa forla estructura de control iterativa whilela estructura de examen de matriz foreach

    En este captulo, slo estudiaremos el uso de la estructura foreach, que es sin duda la forma msfcil de examinar una matriz. Este mtodo no requiere ningn conocimiento especial sobre la naturalezade la matriz (numrica, asociativa, rango de ndices/claves...).Sintaxis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85124 8/10

    foreach(matriz as variable_valor) { instrucciones }

    o

    foreach(matriz as variable_clave => variable_valor) { instrucciones }

    La primera sintaxis permite examinar la matriz de principio a fin; en cada iteracin, el valor actual de lamatriz se almacena en la variable variable_valor y las instrucciones entre llaves se ejecutan. Estasintaxis es suficiente si el procesamiento no necesita hacer referencia a los valores de la clave.La segunda sintaxis funciona en base al mismo principio, pero en cada iteracin, la clave actual sealmacena en la variable variable_clave y el valor en la variable variable_valor. Esta sintaxises til si el procesamiento necesita hacer referencia a los valores de la clave.Ejemplo

    Resultado

    Primera sintaxis: cero uno dos 0 1 2 Segunda sintaxis: 0 => cero 1 => uno 2 => dos cero => 0 uno => 1 dos => 2

    Estos dos ejemplos demuestran que no es necesario ningn conocimiento previo de la matriz paraexaminarla: ni su tamao, ni su estructura de claves.Desde la versin 5.5, la estructura foreach permite examinar una matriz de matrices y recuperar loselementos de la matriz anidada en variables con la ayuda de la funcin list.Sintaxis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85124 9/10

    Nombre Funcincount Cuenta el nmero de elementos de una matriz.in_array Comprueba si un valor est presente en una matriz.array_search Busca un valor en una matriz.array_replace Reemplaza valores de una matriz.[a|k][r]sort Ordena una matriz (varias variantes posibles).explode Divide una cadena segn un separador y almacena los

    elementos en una matriz.implode Reagrupa los elementos de una matriz en una cadena

    mediante un separador.str_split Divide una cadena en fragmentos de longitud fija y almacena

    los elementos en una matriz.Array_column Devuelve los valores de una columna de una matriz

    foreach(matriz as list(variable[,... ]))

    En cada iteracin, los elementos de la matriz anidada actual se almacenan en las variables enumeradasen la funcin list (primer elemento en la primera variable, segundo elemento en la segunda variable,etc.).Ejemplo

    Resultado

    FRANCIA: Pars ITALIA: Roma

    En la funcin list, si hay menos variables que elementos en la tabla anidada, los elementossobrantes de esta ltima se ignorarn. Por el contrario, si hay muchas variables en la funcinlist, segenerar una alerta de nivel NOTICE y las variables sobrantes no se inicializarn.

    4. AlcanceLas variables de tipo matriz siguen las mismas reglas de alcance y de duracin que las variables de tipoescalar (vase seccin Variables - Alcance y duracin).

    5. Funciones tilesPHP ofrece un gran nmero de funciones que permiten manipular las matrices.Las funciones utilizadas con mayor frecuencia son:

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85124 10/10

    multidimensional.

    variable Variable en cuestin.

    La funcin is_array (vase la seccin Tipos de datos - Funciones tiles) permite conocer si unavariable es de tipo matriz. Recuerde.Existen muchas otras funciones y puede consultar la descripcin de cada funcin en lneaenwww.php.net. Ah encontrar, especialmente, funciones para:

    realizar clculos (suma...)extraer una submatriz de una matrizfusionar matricesdesduplicar una matriz...

    countLa funcin count permite conocer el nmero de elementos en una variable en general, una matriz enparticular.Sintaxis

    entero count (mixto variable)

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 1/11

    Nombre Funcinstrlen Devuelve el nmero de caracteres de una cadena.strtolowerstrtoupperucfirstucwordslcfirst

    Las conversiones de minsculas/maysculas pueden limitarse ala(s) primera(s) palabra(s).

    strcmpstrcasecmp

    Comparacin de cadenas (sensible a maysculas y minsculas ono).

    [s]printfv[s]printf

    Formato a una cadena (idntica a las funciones de Cequivalentes).

    number_format Formato de un nmero.[l|r]trim Eliminacin de caracteres "blancos".substr Extraccin de una subcadena de una cadena.str_repeat Construccin de una cadena por repeticin de caracteres.str[r][i]pos Bsqueda de la posicin de una ocurrencia (carcter o cadena)

    dentro de una cadena.str[i]strstrrchr

    Extraccin de la subcadena dentro de una cadena a partir deuna ocurrencia determinada de un carcter o una cadena.

    str_[i]replace Sustitucin de las ocurrencias de una cadena por otra cadena.strtr Sustitucin de las ocurrencias de un carcter por otro carcter o

    de una cadena por otra cadena.

    Algunas funciones tiles sobre las cadenas de caracteres,las fechas y los nmeros

    1. PrembuloEl objetivo de esta seccin es presentar las funciones ms tiles, relacionadas con la manipulacin decadenas de caracteres y de fechas, tipos de datos que se utilizan con mucha frecuencia en lasaplicaciones.PHP ofrece muchas funciones y puede consultar la descripcin de cada funcin en lnea enwww.php.net.

    2. Manipulacin de cadenas de caracteresLas funciones ms tiles para la manipulacin de cadenas de caracteres son las siguientes:

    Recuerde las funciones explode, implode y str_split anteriormente presentadas(vanse seccin Matrices - Funciones tiles). Otras funciones, ms especficamente

    relacionadas con la gestin de formularios se estudian en el captulo Gestionar los formularios.

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 2/11

    cadena Cadena en cuestin.

    cadena Cadena que se va a procesar.

    strlenLa funcin strlen devuelve el nmero de caracteres de una cadena.Sintaxis

    entero strlen(cadena cadena)

    strtolower - strtoupper - ucfirst - ucwords - lcfirstEstas funciones permiten realizar conversiones de minsculas/maysculas, posiblemente limitadas ala(s) primera(s) palabra(s) de la cadena.Sintaxis

    cadena strtolower(cadena cadena) cadena strtoupper(cadena cadena) cadena ucfirst(cadena cadena) cadena ucwords(cadena cadena) cadena lcfirst(cadena cadena)

    La funcin strtolower convierte todos los caracteres de una cadena en minsculas.La funcin strtoupper convierte todos los caracteres de una cadena en maysculas.La funcin ucfirst convierte el primer carcter de una cadena en maysculas.La funcin ucwords convierte el primer carcter de cada palabra de una cadena en maysculas.La funcin lcfirst convierte el primer carcter de una cadena en minscula (a partir de la versin5.3).Ejemplo

    Resultado

    strtolower(OLIVIER HEURTEL) = olivier heurtel strtoupper(olivier heurtel) = OLIVIER HEURTEL ucfirst(olivier heurtel) = Olivier heurtel lcfirst(OLIVIER HEURTEL) = oLIVIER HEURTEL ucwords(olivier heurtel) = Olivier Heurtel

    strcmp - strcasecmp

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 3/11

    cadena1 y cadena2 Cadenas que se van a comparar.

    formato Cadena de formato que presenta varias directivas segn lasespecificaciones que figuran a continuacin.

    valor Valor que se integrar en la cadena.

    Estas funciones permiten comparar dos cadenas teniendo en cuenta o no las maysculas y minsculas.Sintaxis

    entero strcmp(cadena cadena1,cadena cadena2) entero strcasecmp(cadena cadena1,cadena cadena2)

    Ambas funciones devuelven un nmero negativo si cadena1 es menor que cadena2, un nmero iguala 0 si son iguales y un nmero positivo si cadena1 es mayor que cadena2.strcmp es sensible a maysculas y minsculas, mientras que strcasecmp no lo es.Ejemplo

    Resultado

    strcmp(Olivier,olivier) = -1 strcasecmp(Olivier,olivier) = 0

    [s]printfLas funciones printf y sprintf permiten dar formato a una cadena (idnticas a las funciones de Cequivalentes).Sintaxis

    cadena sprintf(cadena formato[, mixto valor[, ...]]) entero printf(cadena formato[, mixto valor[, ...]])

    sprintf devuelve el resultado en forma (o FALSE en caso de error), mientras que printfmuestradirectamente el resultado (como la instruccin echo) y devuelve la longitud de la cadena con formatoen caso de xito o FALSE en caso de error.La cadena format debe contener una directiva de formato para cada argumento valor; estadirectiva de formato especifica la ubicacin y el formato del valor correspondiente. La correspondenciaentre una directiva de formato y un valor es de posicionamiento (primera directiva para el primervalor...).Las instrucciones de formato comienzan con el carcter % seguido de una a cinco informaciones, siendola ltima la nica obligatoria:

    %[relleno][alineacin][longitud][precisin]tipo

    Las informaciones son las siguientes:

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 4/11

    relleno Especifica el carcter utilizado para el relleno. El carcter pordefecto es el espacio. Se puede utilizar cualquier otro carcter sise menciona precedido de un apstrofo (nicamente el carctercero se puede indicar directamente): x indica que el carcter derelleno es la "x".

    alineacin Especifica la alineacin. De forma predeterminada, la alineacin esa la derecha. El carcter menos ("-") permite obtener unaalineacin a la izquierda.

    longitud Especifica el nmero mnimo de caracteres del elementoformateado.

    precisin Indica el nmero de dgitos usados para el formato de un nmerode punto flotante (vlido slo si el elemento asociado es unnmero).

    tipo Da el tipo del valor que se va a insertar:c: entero que se sustituye por el carcter cuyo cdigo ASCII tieneeste valor;d: entero que se representar como tal;f: nmero de punto flotante que se representar como tal(teniendo en cuenta la configuracin regional);F: nmero de punto flotante que se representar como tal (sintener en cuenta la configuracin regional); apareci con la versin5.0.3;s: ninguno, se representar como una cadena.

    Directiva Valor Resultado Explicacin%d 1 1 Nmero entero sin un formato especial.%02d 1 01 02 = completar con el carcter cero, en una

    longitud mnima de dos.%f 1/3 0.333333 Nmero de punto flotante sin un formato

    especial.%.2f 1/3 0.33 .2 = dos dgitos despus del separador

    decimal.%02.3f 1/3 00.333 .3 = tres dgitos despus del separador

    decimal.02 = completar con el carcter cero, con elseparador decimal, en una longitud mnimade dos.

    %s Olivier! Olivier! Cadena sin un formato especial.%.10s Olivier ...Olivier .10 = completar con un punto para llegar

    a una longitud mnima de diez caracteres(alineacin predeterminada).

    %.-10s Olivier Olivier... .-10 = completar con un punto para

    Para obtener un carcter "%" en el resultado final, debe duplicarlo en el formato.Algunos ejemplos:

    llegar a una longitud mnima de diez

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 5/11

    caracteres (signo - = alineacin a laizquierda).

    %.5.2f 9.9 ....9.90 .2 = dos dgitos despus del separadordecimal..5 = completar con un punto para llegar auna longitud mnima de cinco caracteresantes del punto decimal (alineacinpredeterminada).

    formato Cadena de formato que presenta varias directivas segn lasespecificaciones dadas anteriormente.

    valores Matriz que da los valores que se van a integrar en la cadena.

    Ejemplo

    Resultado

    Formato de una fecha: 01/01/2001 Formato de nmeros: 0.33 - 12345678.90 Porcentaje: 12.30 % Utilizacin de las opciones de relleno: Libros.....9.35 Discos...99.90

    v[s]printfLas funciones vprintf y vsprintf son idnticas a las funciones printf y sprintf, pero aceptancomo segundo parmetro una matriz que contiene los distintos valores que se van a utilizar (en lugarde varios parmetros).Sintaxis

    cadena vsprintf(cadena formato[, matriz valores]) entero vprintf(cadena formato[, matriz valores])

    Con

    Ejemplo

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 6/11

    valor Nmero que se va a formatear.decimales Nmero de decimales (ninguna parte decimal por

    defecto).separador_decimal Separador decimal (punto por defecto).separador_millares Separador de millares (coma por defecto).

    foreach($datos as $lnea) { vprintf("%.-10s%.5.2f",$lnea); // printf direct } echo ; ?>

    Resultado

    Libros........9.35 Discos......99.90

    number_formatLa funcin number_format permite dar formato a un nmero.Sintaxis

    cadena number_format(nmero valor[, entero decimales[, cadena separador_decimal, cadena separador_millares]])

    Se puede llamar a la funcin con uno, dos o cuatro argumentos, pero no tres: si se da un tercero, elcuarto es obligatorio.Si el nmero tiene una precisin superior a la solicitada (parmetro decimales), el nmero se redondeaa la precisin solicitada.Ejemplo

    Resultado

    number_format(1234.567) = 1,235 number_format(1234.567,1) = 1,234.6 number_format(1234.567,2,,, ) = 1 234,57

    Observe, en estos ejemplos, los redondeos automticos cuando la precisin solicitada es inferior a laprecisin del nmero.

    ltrim - rtrim - trimEstas funciones permiten eliminar los caracteres "blancos" u otros caracteres al principio de la cadena,al final de la cadena o en ambos lados.

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 7/11

    cadena Cadena que se va a procesar.caracteres Cadena que indica la lista de caracteres que se va a eliminar.

    Si este parmetro est ausente, los caracteres "blancos" seeliminan.

    cadena Cadena que se va a procesar.inicio Posicin del primer carcter de la subcadena que se va a extraer

    (atencin 0 = 1er carcter).longitud Nmero de caracteres que se van a extraer (por defecto, hasta el

    final de la cadena).

    Sintaxis

    cadena ltrim(cadena cadena[, cadena caracteres]) cadena rtrim(cadena cadena[, cadena caracteres]) cadena trim(cadena cadena[, cadena caracteres])

    Con

    Las tres funciones devuelven una cadena igual a la cadena inicial en la que los caracteres "blancos" olos caracteres especificados se han eliminado al principio (ltrim con l = left = a la izquierda) al final(rtrim con r = right = a la derecha) o en ambos lados (trim).Los caracteres "blancos" son el salto de lnea (\n = cdigo ASCII 10), el retorno de carro (\r = cdigoASCII 13), la tabulacin (\t = cdigo ASCII 9), el carcter NULL (\0 = cdigo ASCII 0) y el espacio.Ejemplo

    Resultado

    strlen($x) = 8 strlen(ltrim($x)) = 4 strlen(rtrim($x)) = 5 strlen(trim($x)) = 1 trim(***+-Olivier-+***,*+-) = Olivier

    substrLa funcin substr permite extraer una subcadena de una cadena.Sintaxis

    cadena substr(cadena cadena, entero inicio[, entero longitud])

    Si el argumento inicio es positivo, la subcadena extrada comienza en el

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 8/11

    secuencia Secuencia de caracteres a repetir.repeticiones Nmero de repeticiones deseadas.

    carcter inicio(0 = 1er carcter).Si el argumento inicio es negativo, la subcadena extrada comienza en elcarcterinicio partiendo desde el final (-1 = ltimo carcter).Si no se especifica el argumento longitud, la subcadena extrada termina al final de lacadena.Si el argumento longitud se especifica y es positivo, substr extrae el nmero decaracteres indicado por el argumento longitud.Si el argumento longitud se especifica y es negativo, la subcadena extrada termina al finalde la cadena, menos el nmero de caracteres indicado por el valor absoluto delargumento longitud.

    Ejemplo

    Resultado

    substr(Olivier,3) = vier substr(Olivier,3,2) = vi substr(Olivier,-4) = vier substr(Olivier,-4,3) = vie

    str_repeatLa funcin str_repeat permite construir una cadena por repeticin de caracteres.Sintaxis

    cadena str_repeat(cadena secuencia, entero repeticiones)

    Ejemplo

    Resultado

    abcabcabc

    strpos - strrpos - stripos - strriposEstas funciones permiten buscar la posicin de una ocurrencia (carcter o cadena) dentro de una

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 9/11

    a_procesar Cadena que se va a procesar.buscar Elemento buscado.inicio Nmero del carcter (0 = primer carcter) a partir del cual se debe

    llevar a cabo la bsqueda (por defecto, el inicio de la cadena).

    cadena.Sintaxis

    entero strpos(cadena a_procesar, cadena buscar[, entero inicio])entero strrpos(cadena a_procesar, cadena buscar[, entero inicio])entero stripos(cadena a_procesar, cadena buscar[, entero inicio])entero strripos(cadena a_procesar, cadena buscar[, entero inicio])

    Con

    strpos busca, en la cadena a_procesar, la primera ocurrencia de la cadena de buscar,comenzando a apartir del carcter nmero inicio (0 = primer carcter).strrpos busca, en la cadena a_procesar, la ltima ocurrencia de la cadena de buscar,comenzando a apartir del carcter nmero inicio (0 = primer carcter). Si el inicio es negativo (-n), los n ltimos caracteres de la cadena a_procesar se ignoran. El parmetroinicio se aadi enla versin 5. En la versin 4, slo se tena en cuenta el primer carcter de la cadena buscar.Las dos funciones son sensibles a maysculas y minsculas (en maysculas no es igual que enminsculas). Las funciones stripos y strripos son idnticas respectivamente a lasfuncionesstrpos y strrpos, pero no son sensibles a maysculas y minsculas; esto se introdujo enla versin 5.Estas cuatro funciones devuelven la posicin de la ocurrencia encontrada (0 = primer carcter)oFALSE si el elemento de bsqueda no se encuentra.FALSE es equivalente a 0, por lo tanto es fcil confundir el caso en el que el elemento no se haencontrado y en el que se encontr al principio de la cadena. La tcnica consiste en utilizar el operadorde comparacin "===" (tres signos igual), que permite comparar el valor y el tipo de dos expresiones(para ms detalles, vase el captulo Operadores).Ejemplo

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 10/11

    a_procesar Cadena que se va a procesar.buscar Elemento buscado.antes Indica si la funcin devuelve la cadena situada antes (valor TRUE) o

    despus (valor FALSE, por defecto) de la cadena buscada.

    } else { echo "contacto est en la posicin $posicin en $correo";

    } // Ocurrencia no encontrada $posicin = strpos($correo,informacin); if ($posicin === FALSE) { // prueba superada: === echo "informacin no se encuentra en $correo"; } else { echo "informacin est en la posicin $posicin en $correo";

    } ?>

    Resultado

    @ est en la posicin 7 en [email protected] olivier est en la posicin 8 en [email protected] contacto no se puede encontrar en [email protected] contacto est en la posicin 0 en [email protected] informacin no se puede encontrar en [email protected]

    strstr - stristr - strrchrEstas funciones permiten extraer la subcadena comenzando a partir de una ocurrencia determinada deun carcter o de una cadena.Sintaxis

    cadena strstr(cadena a_procesar, cadena buscar, booleano antes) cadena stristr(cadena a_procesar, cadena buscar, booleano antes) cadena strrchr(cadena a_procesar, carcter buscar)

    Las funciones strstr y stristr buscan, en la cadena a_procesar, la primera ocurrencia delacadena buscar y devuelven la porcin final o inicial de la cadena comenzando desde estaocurrencia (incluida). La funcin strstr es sensible a maysculas y minsculas (una mayscula esdiferente de una minscula), mientras que stristr no lo es.strrchr busca, en la cadena a_procesar, la ltima ocurrencia del carcter buscar y devuelve laporcin final o inicial de la cadena comenzando desde esta ocurrencia (incluida). Sibuscar es unacadena de varios caracteres, slo el primero se tiene en cuenta. strrchr es sensible a maysculas yminsculas.Estas tres funciones devuelven FALSE si no se encuentra el elemento buscado.Ejemplo

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 11/11

    echo "- la ltima ocurrencia de -----> $resto "; // strstr $resto = strstr($correo,olivier); echo "- la primera ocurrencia de olivier (sensible a maysculas y minsculas)----> $resto ";

    // stristr $resto = stristr($correo,olivier); echo "- la primera ocurrencia de olivier (no sensible a maysculas y minsculas)----> $resto ";

    echo "Inicio de $correo terminando por:"; // strstr&nbs

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85127 1/2

    El operador de asignacin por valorEl operador de asignacin es el signo de igual (=).Sintaxis

    $variable = expresin;

    expresin puede ser un valor literal de cualquier tipo (123, Hola, TRUE...), otra variable ocualquier expresin que combina valores literales, variables con funciones y operadores.Ejemplo

    Con esta sintaxis, la asignacin se efecta por valor, es decir, que el valor de la expresin situada a laderecha del signo igual se copia en la variable mencionada a la izquierda. Al realizar una asignacin deuna variable en otra, la modificacin posterior de la primera variable no tiene efecto en la segunda.Ejemplo

    Resultado

    $x = 2 $y = 1

    La operacin de asignacin es una expresin que tiene un valor igual al valor asignado y que se puedeutilizar directamente en otra expresin. Por ejemplo, el valor de la expresin $x = 1 es 1 y se puedeescribir una instruccin de tipo $y=($x=1)+2 que asigna al valor 3 a $y.Ejemplo

    Resultado

    $x = 1

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85127 2/2

    $y = 3

    Esta tcnica es muy prctica, pero puede afectar a la legibilidad del cdigo.

    Para todos los operadores que se estudian en este captulo, pueden existir espacios en todo eloperador.

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85128 1/1

    ndiceQu es PHP?Estructura bsica de una pgina PHPConfiguracin de PHPUtilizar PHP desde la lnea de comandos

    ConstantesVariablesTipos de datosMatricesAlgunas funciones tiles sobre las cadenasde caracteres, las fechas y los nmeros

    El operador de asignacin por valorEl operador de asignacin porreferenciaLos operadores aritmticosEl operador de cadenaLos operadores de comparacinLos operadores lgicosEl operador ternarioLos operadores combinadosPrecedencia de los operadores

    Informacin general sobre PHP

    Variables, constantes, tipos y matrices

    Operadores

    Estructuras de controlFunciones y clasesGestin de formulariosAcceder a las bases de datosAdministrar las sesionesEnviar un correo electrnicoGestin de archivosAdministrar los errores en un script PHPAnexo

    El operador de asignacin por referenciaA partir de PHP 4, es posible relizar una asignacin por referencia utilizando el operador &.Sintaxis

    $variable2 = &$variable1;

    Con esta sintaxis, el valor de la variable $variable1 no se copia en la variable $variable2. Lavariable $variable2 hace referencia a la variable $variable1; las dos variables apuntan a lamisma zona de memoria y la modificacin de una variable afecta a la otra.Ejemplo

    Resultado

    Inicialmente: $apellido = Olivier $patronmico = Olivier Despus de la modificacin de $apellido: $apellido = Heurtel $patronmico = Heurtel

    Subir

    Condiciones generales de uso Copyright - Editions ENI

    PHP 5.5 - Desarrollar un s itio Web dinmico e interactivo

    Buscar FavoritoNotas y marca pginasndice

    Inicio Anterior [email protected] Libros gratis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85129 1/1

    ndice

    Qu es PHP?Estructura bsica de una pgina PHPConfiguracin de PHPUtilizar PHP desde la lnea de comandos

    ConstantesVariablesTipos de datosMatricesAlgunas funciones tiles sobre las cadenasde caracteres, las fechas y los nmeros

    El operador de asignacin por valorEl operador de asignacin por referenciaLos operadores ari tmticosEl operador de cadenaLos operadores de comparacinLos operadores lgicosEl operador ternarioLos operadores combinadosPrecedencia de los operadores

    Informacin general sobre PHP

    Variables, constantes, tipos y matrices

    Operadores

    Estructuras de controlFunciones y clasesGestin de formulariosAcceder a las bases de datosAdministrar las sesionesEnviar un correo electrnicoGestin de archivosAdministrar los errores en un script PHPAnexo

    Operacin Operador Ejemplo($x=13 y $y=8)

    Suma + echo $x + $y; => 21Resta - echo $x - $y; => 5Multiplicacin * echo $x * $y; =>

    104Divisin / echo $x / $y; =>

    1.625Mdulo (resto de la divisin entera delprimer operando por el segundo)

    % echo $x % $y; => 5

    Contrario - echo -$x; => -13Preincremento (incrementa la variableantes de devolver el valor de la variable)

    ++ antesdeloperando

    echo ++$x; => 14

    Postincremento (incrementa la variabledespus de haber devuelto el valor de lavariable)

    ++ despusdeloperando

    echo $x++; => 13echo $x; => 14

    Predecremento (decrementa la variableantes de devolver el valor de la variable)

    -- antes deloperando

    echo --$x; => 12

    Postdecremento (decrementa la variabledespus de haber devuelto el valor de lavariable)

    -- despusdeloperando

    echo $x--; => 13echo $x; => 12

    Los operadores aritmticosLos operadores aritmticos son los siguientes:

    Subir

    Condiciones generales de uso Copyright - Editions ENI

    PHP 5.5 - Desarrollar un s itio Web dinmico e interactivo

    Buscar FavoritoNotas y marca pginasndice

    Inicio Anterior [email protected] Libros gratis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85130 1/1

    ndice

    Qu es PHP?Estructura bsica de una pgina PHPConfiguracin de PHPUtilizar PHP desde la lnea de comandos

    ConstantesVariablesTipos de datosMatricesAlgunas funciones tiles sobre las cadenasde caracteres, las fechas y los nmeros

    El operador de asignacin por valorEl operador de asignacin por referenciaLos operadores aritmticosEl operador de cadenaLos operadores de comparacinLos operadores lgicosEl operador ternarioLos operadores combinadosPrecedencia de los operadores

    Informacin general sobre PHP

    Variables, constantes, tipos y matrices

    Operadores

    Estructuras de controlFunciones y clasesGestin de formulariosAcceder a las bases de datosAdministrar las sesionesEnviar un correo electrnicoGestin de archivosAdministrar los errores en un script PHPAnexo

    El operador de cadenaEl nico operador de cadena es el operador de concatenacin, igual que el punto (.).Sintaxis

    cadena1.cadena2;

    Esta sintaxis devuelve una cadena igual a la primera cadena inmediatamente seguida de la segunda;no se coloca ningn separador entre las dos cadenas.Ejemplo

    Resultado

    Heurtel, Olivier

    Subir

    Condiciones generales de uso Copyright - Editions ENI

    PHP 5.5 - Desarrollar un s itio Web dinmico e interactivo

    Buscar FavoritoNotas y marca pginasndice

    Inicio Anterior [email protected] Libros gratis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85131 1/1

    ndice

    Qu es PHP?Estructura bsica de una pgina PHPConfiguracin de PHPUtilizar PHP desde la lnea de comandos

    ConstantesVariablesTipos de datosMatricesAlgunas funciones tiles sobre las cadenasde caracteres, las fechas y los nmeros

    El operador de asignacin por valorEl operador de asignacin por referenciaLos operadores aritmticosEl operador de cadenaLos operadores de comparacinLos operadores lgicosEl operador ternarioLos operadores combinadosPrecedencia de los operadores

    Informacin general sobre PHP

    Variables, constantes, tipos y matrices

    Operadores

    Estructuras de controlFunciones y clasesGestin de formulariosAcceder a las bases de datosAdministrar las sesionesEnviar un correo electrnicoGestin de archivosAdministrar los errores en un script PHPAnexo

    Operacin Operador Ejemplo($x=13, $y=8, $z="8")

    Igualdad == $x == $y => FALSE$y == $z => TRUE

    Igualdad y tipos idnticos === $x === $y => FALSE$y === $z => FALSE

    Diferente != $x != $y => TRUE$y != $z => FALSE

    Diferente o tipos diferentes !== $x !== $y => TRUE$y !== $z => TRUE

    Inferior < $x < $y => FALSE$y < $x => TRUE$y < $z => FALSE

    Inferior o igual $x > $y => TRUE$y > $x => FALSE$y > $z => FALSE

    Superior o igual >= $x >= $y => TRUE$y >= $x => FALSE$y >= $z => TRUE

    Los operadores de comparacinLos operadores de comparacin son los siguientes:

    No se debe confundir el operador de asignacin (=) con el operador de comparacin (==).

    Subir

    Condiciones generales de uso Copyright - Editions ENI

    PHP 5.5 - Desarrollar un s itio Web dinmico e interactivo

    Buscar FavoritoNotas y marca pginasndice

    Inicio Anterior [email protected] Libros gratis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85111 1/1

    ndice

    Ttulo, autor...

    O bjet iv o del l ibroBreve historia de PHPDnde conseguir PHP?Convenciones de escritura

    Informacin

    Introduccin

    Informacin general sobre PHPVariables, constantes, tipos y matricesOperadoresEstructuras de controlFunciones y clasesGestin de formulariosAcceder a las bases de datosAdministrar las sesionesEnviar un correo electrnicoGestin de archivosAdministrar los errores en un script PHPAnexo

    Objetivo del libroEl objetivo de este libro es aprender a desarrollar un sitio Web dinmico e interactivo usando PHP 5.Para cumplir con este objetivo, este libro presenta de manera rpida las funciones bsicas dellenguaje PHP antes de estudiar en detalle las caractersticas necesarias para desarrollar un sitio Webdinmico e interactivo:

    Gestin de formularios.Acceso a bases de datos, como MySQL, Oracle y SQLite.Gestin de sesiones (autenticacin, gestin de un contexto, el uso de "cookies").Envo de correos electrnicos en formato HTML y con datos adjuntos.Gestin de archivos (incluyendo la transferencia de archivos dede la estacin de trabajo delusuario al servidor "file upload").

    Este libro est dirigido a gestores de proyecto, diseadores y desarrolladores con un conocimientobsico de programacin Web en HTML (HyperText Markup Language) y algunos conocimientos de SQL(Structured Query Language - lenguaje estndar de acceso a las bases de datos relacionales) para elcaptulo sobre las bases de datos.Este libro aborda la versin 5 de PHP; las nuevas caractersticas, especficas para esta versin, estnclaramente indicadas y se basa en la versin 5.5.0 publicada en junio de 2013.

    Subir

    Condiciones generales de uso Copyright - Editions ENI

    PHP 5.5 - Desarrollar un s itio Web dinmico e interactivo

    Buscar FavoritoNotas y marca pginasndice

    Inicio Anterior [email protected] Libros gratis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85132 1/1

    ndice

    Qu es PHP?Estructura bsica de una pgina PHPConfiguracin de PHPUtilizar PHP desde la lnea de comandos

    ConstantesVariablesTipos de datosMatricesAlgunas funciones tiles sobre las cadenasde caracteres, las fechas y los nmeros

    El operador de asignacin por valorEl operador de asignacin por referenciaLos operadores aritmticosEl operador de cadenaLos operadores de comparacinLos operadores lgicosEl operador ternarioLos operadores combinadosPrecedencia de los operadores

    Informacin general sobre PHP

    Variables, constantes, tipos y matrices

    Operadores

    Estructuras de controlFunciones y clasesGestin de formulariosAcceder a las bases de datosAdministrar las sesionesEnviar un correo electrnicoGestin de archivosAdministrar los errores en un script PHPAnexo

    Operacin Operador(es) EjemploY lgica and

    &&TRUE and TRUE => TRUETRUE and FALSE => FALSEFALSE and FALSE => FALSE

    O lgico or||

    TRUE or TRUE => TRUETRUE or FALSE => TRUEFALSE or FALSE => FALSE

    O lgico exclusivo (FALSE siambos operandos son TRUE)

    xor TRUE xor TRUE => FALSETRUE xor FALSE => TRUEFALSE xor FALSE => FALSE

    No lgico ! ! TRUE => FALSE! FALSE => TRUE

    Los operadores lgicosLos operadores lgicos son los siguientes:

    Los operadores and y & &, as como or y || son idnticos, pero no tienen la misma precedencia(vase la seccin Precedencia de los operadores).

    Subir

    Condiciones generales de uso Copyright - Editions ENI

    PHP 5.5 - Desarrollar un s itio Web dinmico e interactivo

    Buscar FavoritoNotas y marca pginasndice

    Inicio Anterior [email protected] Libros gratis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85133 1/1

    ndice

    Qu es PHP?Estructura bsica de una pgina PHPConfiguracin de PHPUtilizar PHP desde la lnea de comandos

    ConstantesVariablesTipos de datosMatricesAlgunas funciones tiles sobre las cadenasde caracteres, las fechas y los nmeros

    El operador de asignacin por valorEl operador de asignacin por referenciaLos operadores aritmticosEl operador de cadenaLos operadores de comparacinLos operadores lgicosEl operador ternarioLos operadores combinadosPrecedencia de los operadores

    Informacin general sobre PHP

    Variables, constantes, tipos y matrices

    Operadores

    Estructuras de controlFunciones y clasesGestin de formulariosAcceder a las bases de datosAdministrar las sesionesEnviar un correo electrnicoGestin de archivosAdministrar los errores en un script PHPAnexo

    El operador ternarioOtro operador condicional, el operador ternario ?, funciona como en el lenguaje C.Sintaxis

    expresin1?expresin2:expresin3

    Esta instruccin devuelve el valor de expresin2 si expresin1 se evala como TRUE y el valorde expresin3, si expresin1 se evala como FALSE. Si expresin1 no es de tipo booleano,se realiza una conversin de acuerdo a las reglas descritas en el captulo Variables, constantes, tiposy matrices.Desde la versin 5.3, es posible omitir expresin2:expresin1?: expresin3. En este caso,la instruccin devuelve el valor de expresin1 si expresin1 se evala como TRUE y el valor deexpresin3 en caso contrario. Es el equivalente de expresin1?expresin1:expresin3.Ejemplo

    Resultado

    Hola desconocido! Hola desconocido! Hola Olivier! Hola Olivier!

    Subir

    Condiciones generales de uso Copyright - Editions ENI

    PHP 5.5 - Desarrollar un s itio Web dinmico e interactivo

    Buscar FavoritoNotas y marca pginasndice

    Inicio Anterior [email protected] Libros gratis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85134 1/1

    ndice

    Qu es PHP?Estructura bsica de una pgina PHPConfiguracin de PHPUtilizar PHP desde la lnea de comandos

    ConstantesVariablesTipos de datosMatricesAlgunas funciones tiles sobre las cadenasde caracteres, las fechas y los nmeros

    El operador de asignacin por valorEl operador de asignacin por referenciaLos operadores aritmticosEl operador de cadenaLos operadores de comparacinLos operadores lgicosEl operador ternarioLos operadores combinadosPrecedencia de los operadores

    Informacin general sobre PHP

    Variables, constantes, tipos y matrices

    Operadores

    Estructuras de controlFunciones y clasesGestin de formulariosAcceder a las bases de datosAdministrar las sesionesEnviar un correo electrnicoGestin de archivosAdministrar los errores en un script PHPAnexo

    Sintaxis Equivalente a$variable += expresin $variable = $variable + expresin$variable -= expresin $variable = $variable - expresin$variable *= expresin $variable = $variable * expresin$variable /= expresin $variable = $variable / expresin$variable %= expresin $variable = $variable % expresin$variable .= expresin $variable = $variable . expresin

    Los operadores combinadosLos operadores suma (+), diferencia (-), multiplicacin (*), divisin (/), mdulo (%) y concatenacin(.) se pueden combinar con el operador de asignacin (=) siguiendo la siguiente sintaxis:

    Subir

    Condiciones generales de uso Copyright - Editions ENI

    PHP 5.5 - Desarrollar un s itio Web dinmico e interactivo

    Buscar FavoritoNotas y marca pginasndice

    Inicio Anterior [email protected] Libros gratis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85135 1/1

    ndice

    Qu es PHP?Estructura bsica de una pgina PHPConfiguracin de PHPUtilizar PHP desde la lnea de comandos

    ConstantesVariablesTipos de datosMatricesAlgunas funciones tiles sobre las cadenasde caracteres, las fechas y los nmeros

    El operador de asignacin por valorEl operador de asignacin por referenciaLos operadores aritmticosEl operador de cadenaLos operadores de comparacinLos operadores lgicosEl operador ternarioLos operadores combinadosPrecedencia de los operadores

    Informacin general sobre PHP

    Variables, constantes, tipos y matrices

    Operadores

    Estructuras de controlFunciones y clasesGestin de formulariosAcceder a las bases de datosAdministrar las sesionesEnviar un correo electrnicoGestin de archivosAdministrar los errores en un script PHPAnexo

    Precedencia de los operadoresLa precedencia de los operadores designa el orden en que se procesan los operadores en unaexpresin completa.Al igual que en todos los lenguajes, se pueden utilizar los parntesis para modificar el orden en elprocesamiento de las operaciones. En la prctica, no dude en utilizar los parntesis para evitarproblemas y mejorar la legibilidad de las expresiones.La precedencia de los operadores es la siguiente, desde el menos prioritario (se procesa el ltimo) alms prioritario (se procesa el primero):Operadororxorand= += -= *= /= %= .=? :||&&== != ===< >=+ - .* / %! ++ -- (int) (double) (string) (array) (object)

    Subir

    Condiciones generales de uso Copyright - Editions ENI

    PHP 5.5 - Desarrollar un s itio Web dinmico e interactivo

    Buscar FavoritoNotas y marca pginasndice

    Inicio Anterior [email protected] Libros gratis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85137 1/5

    Los controles condicionales

    1. IfLa estructura de control if permite una ejecucin condicional de instrucciones.Esta estructura tiene dos sintaxis:Primera sintaxis

    if (condicin_1) { instrucciones_1; [ } elseif (condicin_2) { instrucciones_2; ] [ ... ] [ } else { instrucciones_n; ] }

    El principio de funcionamiento de la estructura de control if es el siguiente:Si la condicin_1 es verdadera, las instrucciones instrucciones_1 se ejecutan y, acontinuacin, el control se pasa a las instrucciones que siguen la estructura de control. Porejemplo, la ejecucin del programa sigue a la instruccin que sigue directamente al final de laestructura de control.Si la condicin_1 no es verdadera, el proceso se repite para las posiblesparejascondicin_i/instrucciones_i siguientes, introducidas por la palabraclave elseif.Si ninguna condicin es verdadera, las instrucciones instrucciones_n, introducidas por lapalabra clave else se ejecutan y luego se pasa el control a las instrucciones que siguen laestructura de control.

    Puede haber varias clusulas elseif.Si las expresiones que definen las condiciones no son de tipo booleano, se realiza una conversin deacuerdo a las reglas descritas en el captulo Variables, constantes, tipos y matrices.Ejemplo

    Resultado

    Hola Olivier! No s tu edad.

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85137 2/5

    La segunda sintaxis se utiliza principalmente para escribir una estructura de control en varios bloquesPHP entre los que se inserta cdigo HTML.Segunda sintaxis (con cdigo HTML incrustado)

    cdigo_HTML_1 [ cdigo_HTML_2 ] [ ... ] [ cdigo_HTML_n ]

    El principio de anlisis de la estructura if - elseif - else es eo mismo que con la primeraestructura, pero en lugar de la ejecucin de instrucciones PHP, el motor incorpora en el resultado elcdigo HTML asociado con la condicin.Ejemplo

    Ejemplo de pgina PHP .ko {font-weight: bold; color: red;} .ok {font-weight: bold; color: green;}

    Hola desconocido!

    Conozco tu nombre pero no tu edad.

    Conozco tu nombre y tu edad, pero no se lo dir a nadie.

    Resultado (depende de la asignacin aleatoria de las variables)

    Conozco tu nombre pero no tu edad.Esta sintaxis es realmente muy prctica para realizar una construccin condicional de una pgina HTML,

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85137 3/5

    evitando el uso pesado de un solo bloque PHP que genera todo el cdigo HTML con la instruccin echo.

    2. SwitchLa estructura de control switch, equivalente a mltiples if - elseif se utiliza para comparar elresultado de una expresin con varios resultados.Esta estructura tiene dos sintaxis:Primera sintaxis

    switch (expresin) { case expresin_1: instrucciones_1;

    [break;] [ case expresin_2: instrucciones_2; [break;] ]

    [ ... ] [ default: instrucciones_n; [break;] ]

    }

    El principio de funcionamiento de la estructura de control switch es el siguiente:Si la expresin es igual a expresin_i las instrucciones asociadasainstrucciones_i se ejecutan y se realizan las comparaciones si no hay unainstruccinbreak.Si no se encuentra ninguna igualdad, se ejecutan todas lasinstruccionesinstrucciones_n introducidas por la palabra clave default.

    Puede haber varias clusulas case.Cuando se verifica una igualdad y se ejecutan las instrucciones correspondientes, lainstruccinswitch no se interrumpe y se evalan las expresiones casos siguientes. Para interrumpirla ejecucin de la instruccin switch y la evaluacin de las clusulas case, es necesario utilizar lainstruccin break (fuerza la salida de la estructura de control).Ejemplo

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85137 4/5

    Resultado (depende de la asignacin aleatoria de las variables)

    Hola desconocido! Voy a llamarte Oliver.

    Segunda sintaxis (con cdigo HTML incrustado)

    cdigo_HTML_1

    [ cdigo_HTML_2 ]

    [ ... ] [ cdigo_HTML_n ]

    El primer case debe estar escrito en el bloque PHP switch.Ejemplo

    Ejemplo de pgina PHP .en {font-weight: bold; color: green;} .es {font-weight: bold; color: orange;} .fr {font-weight: bold; color: blue;} .desconocido {font-weight: bold; color: red;}

    Hello my friend!

    Bonjour mon pote !

    Hola amigo!

    ?????

    Resultado

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85137 5/5

    Hola amigo!

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85138 1/1

    ndiceUtilizar PHP desde la lnea de comandos

    ConstantesVariablesTipos de datosMatricesAlgunas funciones tiles sobre las cadenasde caracteres, las fechas y los nmeros

    El operador de asignacin por valorEl operador de asignacin por referenciaLos operadores aritmticosEl operador de cadenaLos operadores de comparacinLos operadores lgicosEl operador ternarioLos operadores combinadosPrecedencia de los operadores

    Los controles condicionalesLos contro les i terat iv osIncluir un archivoInterrumpir el script

    Variables, constantes, tipos y matrices

    Operadores

    Estructuras de control

    Funciones y clasesGestin de formulariosAcceder a las bases de datosAdministrar las sesionesEnviar un correo electrnicoGestin de archivosAdministrar los errores en un script PHPAnexo

    Los controles iterativos

    1. WhileLa estructura de control while permite ejecutar en bucle una serie de instrucciones siempre queuna condicin es verdadera.Como para las estructuras de control condicionales, hay dos sintaxis disponibles.Primera sintaxis

    while (condicin) { instrucciones; }

    El principio de funcionamiento de la estructura de control while es el siguiente: mientras que lacondicin condicin sea verdadera, las instrucciones instrucciones se ejecutan.Si la expresin que define la condicin no es de tipo booleano, se realiza una conversin de acuerdoa las reglas descritas en el captulo Variables, constantes, tipos y matrices.Ejemplo

    Resultado

    O.L.I.V.I.E.R.

    Tradicionalmente, esta estructura adopta las siguientes conductas:Si la condicin es falsa en la primera iteracin, las instrucciones situadas dentro del buclenunca se ejecutan.Si la condicin no es nunca falsa, las instrucciones situadas dentro del bucle se ejecutan

    PHP 5.5 - Desarrollar un s itio Web dinmico e interactivo

    Buscar FavoritoNotas y marca pginasndice

    Inicio Anterior [email protected] Libros gratis

    www.descargasnsn.com

  • 24/4/2014 ENI Training - Libro online

    http://www.eni-training.com/client_net/mediabook.aspx?idR=85139 1/3

    archivo Nombre del archivo que se va a incluir (se puede especificar conuna ruta absoluta o relativa).

    Incluir un archivo

    1. FuncionamientoLas funciones include, include_once, require y require_once permiten incluir un archivo enun script PHP.Sintaxis

    entero include(archivo) entero include_once(archivo) require(archivo) require_once(archivo)

    Las funciones include e include_once devuelven 1 en caso de xito y FALSE en caso de error.Las funciones require y require_once no tienen cdigo de retorno.En caso de error, las funciones include e include_once generan un simple error denivelE_WARNING que no interrumpe la ejecucin del script. Este no es el caso de lasfuncionesrequire y require_once que causan un error fatal interrumpiendo la ejecucin del script.El archivo incluido puede contener cdigo HTML, cdigo PHP o ambos. Si contiene cdigo PHP, estecdigo debe estar escrito entre las etiquetas PHP habituales. El cdigo HTML, presente en el archivoincluido, se integra tal cual en la pgina enviada al navegador, como si se encontrase en el script querealiza la llamada. El cdigo PHP, presente en el archivo incluido, se ejecuta tambin, como si seencontrase en el script que realiza la llamada.Cuando se incluye cdigo PHP, variables y constantes, definidas en el archivo incluido se pueden usaren el script de llamada y viceversa. Todo sucede como si hubiera un slo script tras la inclusin y, por lotanto, un rango igual a este script para las variables y constantes.Es posible incluir varios archivos en un script, o integrar las inclusiones (incluir un archivo que, a su vez,incluye un archivo en otro).Con las funciones include y require, el proceso de inclusin se repite varias veces, si el mismoarchivo se incluye en varias ocasiones.En algunos casos este puede ser un comportameinto no deseado, especialmente cuando un archivo seincluye por primera vez directamente en un script y una segunda vez indirectamente a travs de lainclusin de otro archivo.Este comportamiento se puede evitar usando las funciones include_once y require_once, quegarantizan que un archivo se incluye una sola vez, aunque se le llame varias veces.

    La extensin del archivo que se va a incluir es totalmente libre. Por ejemplo, no es obligatorioel uso de la extensin .php p