Clase de PHP array

download Clase de PHP array

of 86

Transcript of Clase de PHP array

  • 7/25/2019 Clase de PHP array

    1/86

    Web

    DeveloperApache PHP MySQL

    Yuri Jose Pando Fernandez

  • 7/25/2019 Clase de PHP array

    2/86

    Programacin web

    Desarrollo de aplicaciones que sedesplegarn teniendo como cliente a unbrowser (navegador).

    La aplicacin se e!ecutar en el servidor"

    recibiendo el cliente" los pantallazos en unlengua!e comprensible por losnavegadores (#tml).

    $n la actualidad" programacin web"requiere conocer otros lengua!es %&oconceptos como 'L" Javascript"D'L" *!a+" P'P ,.etc.

  • 7/25/2019 Clase de PHP array

    3/86

    Requisitos

    Servidor WEB Apache, IIS, Sambar, Roxe,

    e!c"

    Le#$a%e PHP PHP &"'"( o PHP &")"( *ambo+

    e vi#ecia

    Ba+e de Da!o+

    My+-l, Po+!#reSQL, M+.SQL,

    o!ra+"

  • 7/25/2019 Clase de PHP array

    4/86

    Estructura de las

    AplicacionesCliente -Browser

    Pedido de

    pgina

    Respuesta al clienteen HTML

    Apache(Entrega HTML al

    Browser)

    PHP deuele los

    datos en !or"atoHTML# listo para $ueAPACHE los en%e alcliente&

    Progra"aci'n paraotener datos de laase&

    Base de atos

    PHP

  • 7/25/2019 Clase de PHP array

    5/86

    Peticion Paginas: Proceso

  • 7/25/2019 Clase de PHP array

    6/86

  • 7/25/2019 Clase de PHP array

    7/86

    Prelimiare+Revi+ioe+ previa+ a la i+!alaci/ de

    Apache Web Server

    Yuri Jose Pando Fernandez

  • 7/25/2019 Clase de PHP array

    8/86

    Servicios Revi+ar e SER0I1I2S, -$e o e+!e ac!ivado3

    *& Co"proar colocando en el rowserhttp+,,localhost#dee darnos un "ensae + .no sepuede cargar la pagina/ o algo si"ilar&

    0& 1pcional"ente se puede utili2ar el co"ando netstat-na o netstat -na# a 3n de oserar $ue puertosestn siendo utili2ados# para eitar prole"asdurante la instalaci'n&

  • 7/25/2019 Clase de PHP array

    9/86

    localhost

  • 7/25/2019 Clase de PHP array

    10/86

    Combinaciones: Apache &

    PHPPHP &"4 5"" PHP &"'"6 PHP &"'"47 PHP &")"6 PHP &")")Apache '"6"( *8)

    Apache '"'"( *48

  • 7/25/2019 Clase de PHP array

    11/86

    ApachePe-$e9a+ :eoria+

    Yuri Jos- Pando Fernndez

    h!!p3;;

  • 7/25/2019 Clase de PHP array

    12/86

    Apache Progra"a $ue conierte a nuestra PC en

    seridor 4EB# capa2 de atenderinicial"ente pedidos de pginas HTML&

    Producto sore el cual descan2a "as del567 del contenido we de internet&

    Multiplata!or"a+ 4indows# Linu8(1rigen)&Brinda el sericio a tra9s del puerto :6#

    pero se puede recon3gurar para otrospuertos&

    Archio de con3guraci'n + httpd&con!(selee al iniciar apache)

    irectorio de pulicaci'n+ htdocs (A$u%dee"os colocar los archios para sudistriuci'n a los rowser de los

    clientes)

  • 7/25/2019 Clase de PHP array

    13/86

    Algunos Parametros!!Acci/ Par=me!ro

    ambio de Puerto Li+!e >6 h!!p3;;localho+!

    Li+!e (( h!!p3;;localho+!3((

    *rc#ivo inicial a publicarse Director%/nde+ idex"h!ml idex"php

    0o mostrar listado del contenido de una carpeta web 1ptions 2/nde+es

    ambio de 3Directorio de publicacin4 Document5oot 3R?:A4

    6Director% 3R?:A47 on8iguracin adicional6&Director%7

    Directorio adicional de publicacin

    Pgina 9:

    *lias 3;$rl4 3r$!a@$eva@carpe!a4

    6Director% 3r$!a@$eva@carpe!a47

    Director%/nde+ inde+.p#p inde+.#tm 1ptions

    /nde+es ulti;iews *llow1verride *ll

    1rder allow"den% *llow 8rom all

    6&Director%7#ttp

  • 7/25/2019 Clase de PHP array

    14/86

    ApacheI+!alado555""

    Yuri Jos- Pando Fernndez

    h!!p3;;

  • 7/25/2019 Clase de PHP array

    15/86

    "nstalando Apache Iiciamo+ el proce+o de i+!alaci/"

  • 7/25/2019 Clase de PHP array

    16/86

    "nstalando ApacheAcep!amo+ lo+ !rmio+ de la licecia de $+o,

    reprod$cci/ y di+!rib$ci/"

  • 7/25/2019 Clase de PHP array

    17/86

    "nstalando Apache

    escripci'n de un seridor Apache&

  • 7/25/2019 Clase de PHP array

    18/86

    "nstalando Apache

    Domiio3 php"$i

    Server ame3

  • 7/25/2019 Clase de PHP array

    19/86

    "nstalando Apache ;nstalaci'n t%pica&

  • 7/25/2019 Clase de PHP array

    20/86

    "nstalando Apache

  • 7/25/2019 Clase de PHP array

    21/86

    "nstalando ApacheListo# instalando los archios&

  • 7/25/2019 Clase de PHP array

    22/86

    "nstalando Apache ;nstalaci'n co"pleta&

    ;ndicador deestado delapache

  • 7/25/2019 Clase de PHP array

    23/86

    "nstalando ApachePri"era pruea de !uncionalidad de apache

    we serer&

    Apache '"'"(

    Apache '"6"x

  • 7/25/2019 Clase de PHP array

    24/86

    "nstalando Apache=ea"os nuestro directorio de pulicaci'n&

  • 7/25/2019 Clase de PHP array

    25/86

    "niciando Servicio Apache

  • 7/25/2019 Clase de PHP array

    26/86

    Con#gurando Apache

    Doc$me!Roo! . c3;

  • 7/25/2019 Clase de PHP array

    27/86

  • 7/25/2019 Clase de PHP array

    28/86

    PHP : $http:%%www!php!net

    Creado por Ras"us Lerdor! en *>>?# con el oetio de

    contar las isitas a su curriculu" en internet& Lenguae de progra"aci'n $ue se eecuta en el seridor&

    (consu"i9ndole por instantes recursos co"o "e"oria @procesador)&

    Multiplata!or"a+ 4indows# Linu8 (1rigen)&

    Basado en el lenguae C# del cual ha heredado parte desu sinta8is @ caracter%sticas&

    or"a parte de la co"unidad open-source&

  • 7/25/2019 Clase de PHP array

    29/86

    'enta(as0e!a%a+ de PHP

    Le#$a%e m$l!ipla!aorma"

    1omple!ame!e orie!ado al de+arrollo de aplicacioe+

  • 7/25/2019 Clase de PHP array

    30/86

    Como )raba(a el PHP

  • 7/25/2019 Clase de PHP array

    31/86

    Empresas que )raba(ancon PHP

  • 7/25/2019 Clase de PHP array

    32/86

    Paquetes "nstaladores

    " t l i PHP

  • 7/25/2019 Clase de PHP array

    33/86

    "nstalacin * PHP Procede"os a desco"pri"ir el PHP @ reno"rar&

    Moer la carpeta php5 a la ra%2 dela unidad&

  • 7/25/2019 Clase de PHP array

    34/86

    Con#gurando PHP Crea"os una copia del archio php&ini-

    deelop"ent (php&ini- reco"ended)# dndolepor no"re php&ini&

    + l PHP ","

  • 7/25/2019 Clase de PHP array

    35/86

    +ue es el PHP!","El archivo php!ini es el que contiene nuestra con#guracinde PHP- con el que podemos controlar muchos aspectos desu .uncionamiento! En esta p/gina intentaremos e0plicar

    para que sirve cada una de sus instrucciones 1 cual es lame(or .orma de con#gurarlo! 2a sistem/tica de la p/ginasigue el mismo orden interior de php!ini- aunque puede queha1a ligeras di.erencias con tu copia- debidas a peque3oscambios entre versiones! 2a con#guracin aqu4 contempladaes la que corresponde a las versiones php 5!6!0!

    ue es el archio php&iniD

    Este archivo sirve para indicar una serie de valores quedeterminan el comportamiento del int7rprete PHP! 2oencontramos dentro de la distribucin php en el directoriorai8 ba(o el nombre php!ini*recommended o php!ini*dist! Setrata de un archivo de te0to- que podemos abrir concualquier editor que traba(e con te0to simple $9!t0t! Comosiempre- nos ser/ mas cmodo traba(ar con un editor comohtml*it que coloree sint/cticamente el archivo! 2o primeroque debemos hacer es en e.ecto editar una de las dos

    versiones disponibles- con#gurarla de acuerdo a nuestrasnecesidades- 1 guardarla con el nombre php!ini! Cual

  • 7/25/2019 Clase de PHP array

    36/86

    Con#gurando PHP

    Copie todas las ;22 al directorio de sistema de> seencuentra en C:?winnt?s1stem6=1 en windows@p- en C:?windows?s1stem6=

    Copie el archivo php!ini recommendedalBS1stem*Root- que normalmente seencuentra en c:?winnto c:?winnt5>enwindows nt o =>>> o en c:?windowsen

    windows @p! luego cambie su nombre porphp!ini

    D di# d l PHP i i

  • 7/25/2019 Clase de PHP array

    37/86

    Dodi#cando el PHP!iniCambie la directiva e0tensiondirpara queapunte al directorio en el que se encuentra

    sus ;;2 de e0tension! En la instalacionnormal se corresponde a C:?PHP?e0t! ;e esta.orma- su archivo php!ini contendr/:

    e8tensiondir F c+,php,e8t

    Cambie la directiva docroot para queapunte al directorio rai8 desde el que actuasu servidor

  • 7/25/2019 Clase de PHP array

    38/86

    Dodi#cando el PHP!ini

    Para activar las e0tensiones basta coneliminar el punto 1 coma- para lo cualactivar las e0tenciones: php.d.!dll-phpgd=!dll- phpimap!dll-phpm1sql!dll- phpm1sqli!dll!

    e0tensionFphpm1sqli!dll

    G Cierre 1 guarde los cambios de php!ini

    G Reinicie el Servidor Apache

  • 7/25/2019 Clase de PHP array

    39/86

    A3adir PHP a su con#guracionde Apache

    Abrir el archivo httpd!con. que se encuentraen C:?Archivos de Programas?ApacheIroup?Apache?Con.?1 bueque lassiguientes lineas si no las encuntra

    a3adalas 1 luego grabe 1 reinicie elservidor apache!

    2oadDodule phpKmodulec:%php%phpKapache!dll

    Addt1pe application%0*httpd*php !php

  • 7/25/2019 Clase de PHP array

    40/86

    Reali8ando Pruebas

    Abrimos nuestro Editor de te0to 1escribimos lo siguiente

    D phpin!o()I DJ

    2uego Irabelo en la siguiente ruta:C:?Archivos de Programa?ApacheIroup?Apache?htdocs con el ,ombre de

    test!php2uego levante "nternet 1 coloque lasiguiente direccion

    http+,,localhost,test&php

  • 7/25/2019 Clase de PHP array

    41/86

    Reali8ando Pruebas

  • 7/25/2019 Clase de PHP array

    42/86

    DemoYuri Jos- Pando Fernndez

    ;emo e(em>L php

  • 7/25/2019 Clase de PHP array

    43/86

    ;emo **** e(em>L!php6#tml76#tml76#ead7 6title7$!emplo de P'P6&title7 6ead76#ead7 6title7$!emplo de P'P6&title7 6ead7

    6bod%76bod%7Parte de 'L normal.Parte de 'L normal.6=576=576=576=57

    6>p#p6>p#p ?m%var @ A'ola. $ste es mi primer script en P'P 6br7AB?m%var @ A'ola. $ste es mi primer script en P'P 6br7AB

    &&$sto es un comentario&&$sto es un comentario ec#o ?m%varBec#o ?m%varB ec#o AParte de P'P6br7ABec#o AParte de P'P6br7AB

    8or(?i@CB?i69CB?i)8or(?i@CB?i69CB?i)

    EE ec#o ALinea A.?i.A6br7AB ec#o ALinea A.?i.A6br7AB >7>76&bod%76&bod%76tml76tml7

  • 7/25/2019 Clase de PHP array

    44/86

    'ariables

    Gna variable es un contenedor de in8ormacin" en elGna variable es un contenedor de in8ormacin" en el

    que podemos meter nHmeros enteros" nHmerosque podemos meter nHmeros enteros" nHmerosdecimales" carcteres... el contenido de las variablesdecimales" carcteres... el contenido de las variables

    se puede leer % se puede cambiar durante la e!ecucinse puede leer % se puede cambiar durante la e!ecucin

    de una pgina P'P.de una pgina P'P.

    $n P'P todas las variables comienzan con el sImbolo$n P'P todas las variables comienzan con el sImbolo

    del dlar ? % no es necesario de8inir una variable antesdel dlar ? % no es necesario de8inir una variable antes

    de usarla. ampoco tienen tipos" es decir que unade usarla. ampoco tienen tipos" es decir que unamisma variable puede contener un nHmero % luegomisma variable puede contener un nHmero % luegopuede contener carcteres.puede contener carcteres.

    ;emos 'ar= php

  • 7/25/2019 Clase de PHP array

    45/86

    ;emos **** 'ar=!php6#tml76#tml76#ead76title7$!emplo de P'P ;ariable 6&title7 6ead76#ead76title7$!emplo de P'P ;ariable 6&title7 6ead7

    6bod%76bod%76>p#p6>p#p

    ?a @ 9B?a @ 9B?b @ K.K:B?b @ K.K:B

    ?c @ A'ola undoAB?c @ A'ola undoABec#o ?a"A6br7A"?b"A6br7A"?c"A6br7ABec#o ?a"A6br7A"?b"A6br7A"?c"A6br7AB?a @ 3Fatima4B?a @ 3Fatima4B?b @ KB?b @ KB

    ec#o ?a"A6br7A"?bBec#o ?a"A6br7A"?bB

    >7>76&bod%76&bod%76tml76tml7

    Constantes

  • 7/25/2019 Clase de PHP array

    46/86

    ConstantesSon valores que se mantienen- no cambian a

    di.erencia de las variables que si lo hacen!

    E(emploMhtmlNMbod1N

    MpN2as constantes no est/n precedidas por un s4mbolo dedlar $O! Slo se pueden de#nir mediante la .uncinMbNde#ne$M%bN! M%pN

    Mphp

    de3ne(KC1

  • 7/25/2019 Clase de PHP array

    47/86

    Qperadores AritmeticosLo+ operadore+ de PHP +o m$y parecido+ a lo+ de 1 y avaScrip!, +iLo+ operadore+ de PHP +o m$y parecido+ a lo+ de 1 y avaScrip!, +i

    $+!ed cooce e+!o+ le#$a%e+ le re+$l!ara amiliare+ y =cile+ de$+!ed cooce e+!o+ le#$a%e+ le re+$l!ara amiliare+ y =cile+ de

    recoocer" E+!o+ +o lo+ operadore+ -$e +e p$ede aplicar a la+recoocer" E+!o+ +o lo+ operadore+ -$e +e p$ede aplicar a la+

    variable+ y co+!a!e+ $mrica+"variable+ y co+!a!e+ $mrica+"

    Operador Nombre Ejemplo Descripcin

    + Suma 5 + 6 Suma dos nmeros

    - Resta 7 - 9 Resta dos nmeros

    *Multiplicacin

    6 * 3 Multiplica dos nmeros

    / Divisin 4 / 8 Divide dos nmeros

    % Mdulo 7 % 2Devuelve el resto de dividir ambosnmeros, en este ejemplo el resultado es 1

    ++ Suma 1 $a++ Suma 1 al contenido de una variable.

    -- Resta 1$a--

    Resta 1 al contenido de una variable.

  • 7/25/2019 Clase de PHP array

    48/86

    ;escomposicin de,merosMphpOnum F 65Kecho Onum!TMbrNT

    Ocent F Uoor$Onum % L>>

    Oresto F Onum B L>>Odece F Uoor$Oresto%L>

    Ounid F Oresto B L>

    Ores F $Ounid 9 L>> V $Odece 9 L> V Ocentecho TEl numero a la "nversa es T!Ores

    N

    Qperadores de

  • 7/25/2019 Clase de PHP array

    49/86

    Qperadores deComparacin2os operadores de comparacin son usadospara comparar valores 1 as4 poder tomar

    decisiones!Operador Nombre Ejemplo Devuelve ciertocuando:

    == Igual $a == $b $aes igual $b

    != Distinto $a != $b $aes distinto $b

    Menor ue $a < $b $aes menor ue $b

    " Ma#or ue $a > $b $aes ma#or ue $b

    = Menor o igual $a

  • 7/25/2019 Clase de PHP array

    50/86

    Qperadores 2gicos2os operadores lgicos son usados para

    evaluar varias comparaciones- combinandolos posibles valores de estas!

    Operador Nombre Ejemplo Devuelve cierto cuando:

    && Y(7>2) &&

    (22) and

    (22) ||

    (22) or(22) &iega el valor de la e'presin.

  • 7/25/2019 Clase de PHP array

    51/86

    Sentencias Condicionales2as sentencias condicionales nos permitene(ecutar o no unas ciertas instruccionesdependiendo del resultado de evaluar unacondicin! 2as m/s .recuentes son la instruccini!1 la instruccin switch!

    Sentencia Simpleentencia i! &&& Else

    Mphpi. $condicin

    X Sentencias a e(ecutar cuando lacondicin es cierta! Yelse

    X Sentencias a e(ecutar cuando lacondicin es .alsa! Y

    N

  • 7/25/2019 Clase de PHP array

    52/86

    ;emo L ****CondiconalL!phpht"lJheadJ

    titleJEe"plo de PHP,titleJ,headJod@JDphp

    Na F :I

    N F OIi! (Na N)

    echo Ka es "enor $ue KIQelse

    echo Ka no es "enor $ue KIQ

    DJ,od@J

    ,ht"lJ

    ;emo =

  • 7/25/2019 Clase de PHP array

    53/86

    ;emo = Condicionales=!phpDphpNedad F *>I,,i! si"plei!(NedadJ*:) echo KLa Edad K&Nedad&K es Ma@or de *:

    aosrJKI Q

    ,,i! co"puesto

    i!(NedadJ*:) echo KLa Edad K&Nedad&K es Ma@or de *:aosrJKI Q

    else echo KLa Edad K&Nedad&K es Menor de *:

    aosrJKI Q

    ,,i! anidado i!(NedadJ*:) echo KLa Edad K&Nedad&K es Ma@or de *:

    aosrJKI Qelsei! (NedadFF*:) echo KLa Edad K&Nedad&K es ;gual a *:

    K

    ;emo 6

  • 7/25/2019 Clase de PHP array

    54/86

    ;emo 6 *Condicional=!php

    Dphp

    ,,e pide de3nir un "ensae de una nota dependiendo de lasig& tala+

    ,, 6 - 5 ---JMu@ "alo S - *6 ---J Malo,, ** - *5 ---J Regular *S - 06 ---J BuenoNnota F5Ii! ((NnotaJF6) (NnotaF06)) i! (NnotaJF6 NnotaF5)

    echo Ku

  • 7/25/2019 Clase de PHP array

    55/86

    Sentencia Compuestaentencia witchUUCase

    ht"lJheadJ

    titleJEe"plo de PHP,titleJ,headJod@JDphp

    Nposicion F KarriaKI

    switch(Nposicion) case KarriaK+ ,, Blo$ue *echo KLa ariale contieneKIecho K el alor arriaKIreaWI

    case KaaoK+ ,, Blo$ue 0echo KLa ariale contieneKIecho K el alor aaoKI

    reaWIde!ault+ ,, Blo$ue Oecho KLa ariale contiene otro alorKIecho K distinto de arria @ aaoKI

    QDJ,od@J

    ,ht"lJ

    CondDultipleL!php

    C d D lti l = h

  • 7/25/2019 Clase de PHP array

    56/86

    CondDultiple=!phpMphp

    Odianum F Kswitch $OdianumX

    case L : echo T;4a 2unes MbrNTbrea

    case = : echo T;4a Dartes MbrNTbrea

    case 6 : echo T;ia Di7rcoles MbrNTbreacase 5 : echo T;ia Zueves MbrNTbrea

    case K : echo T;ia 'iernes MbrNTbrea

    case [ : echo T;ia S/bado MbrNTbrea

    case \ : echo T;ia ;omingo MbrNTbreade.ault : echo Tuera de RangoT

    Y

    N

    Problema Planteado

  • 7/25/2019 Clase de PHP array

    57/86

    Problema Planteado- i"ena ha corado su sueldo de 3n de "es#

    del cual

    tiene $ue pagar las sig& deudas+

    *07 Riple@# saga @ "etro

    *?7 lu2# agua# tel9!ono

    067 separa para co"ida @ pasae

    *56 soles le da entrega su "a"a

    056 soles es la deuda de un cr9dito $ue pagaal

    anco

    - u Her"ano Xose# le dice $ue si su saldo del

    sueldo es "enor a ?56 soles# le entregaraO66 soles de

    a@uda# Cuando le $uedara de saldo a ti"a

    Respuesta Y

  • 7/25/2019 Clase de PHP array

    58/86

    Respuesta Calculos&php(Parte *)

    Dphp

    echo Ktale orderF*JKI

    ,,carga de datos de sueldo

    echo KtrJtd colspanF0JCalculo de ueldo ,tdJ,trJKINsueldo F *OO6I

    echo KtrJtdJueldo !ati"a,tdJtdJK&Nsueldo&K,tdJ,trJKI

    echo KtrJtd colspanF0Jescuentos ,tdJ,trJKI

    ,,descuentosNdesc* F 6&*0 Z NsueldoI

    Ndesc0 F 6&*? Z NsueldoI

    NdescO F 6&0 Z NsueldoI

    Ndesc? F *56INdesc5 F 056I

    echo KtrJtdJRiple@#aga#Metros ,tdJtdJK&Ndesc*&K,tdJ,trJKI

    echo KtrJtdJLu2#Agua#ono,tdJtdJK&Ndesc0&K,tdJ,trJKI

    echo KtrJtdJCo"ida Pasa e,tdJtdJK&

    Respuesta Y

  • 7/25/2019 Clase de PHP array

    59/86

    ,,halla"os el uTotal

    NsuTotal F Nsueldo -(Ndesc* \ Ndesc0 \ NdescO \Ndesc? \Ndesc5)I

    echo KtrJtdJu Total,tdJtdJK&NsuTotal&K,tdJ,trJKI

    ,,traaando con el apo@o del her"ano

    echo KtrJtdcolspanF0JFFFFFFFFFFFFFFFFFFFFF,tdJ,trJ

    KI

    Napo@o F 6I

    i! (NsuTotal ?56)

    Napo@oFO66I Q

    echo KtrJtdJApo@o de Andre,tdJtdJK&Napo@o&K,tdJ,trJKI

    echo KtrJtdcolspanF0JFFFFFFFFFFFFFFFFFFFFF,tdJ,trJ

    KI

    Respuesta Calculos&php(Parte 0)

    ] l S t i

  • 7/25/2019 Clase de PHP array

    60/86

    ]ucles SentenciasRepetitivas2os bucles nos permiten iterar conuntos deinstrucciones- es decir repetir la e(ecucinde un con(unto de instrucciones mientras secumpla una condicin!

    entencia 4hileDphp

    while (condici'n)

    intrucciones a eecutar&Q

    DJ

    ; hL h

  • 7/25/2019 Clase de PHP array

    61/86

    ;emo *** whL!phpMhtmlN

    MheadNMtitleNE(emplo de PHPM%titleNM%headNMbod1N"nicioM]RN

    MphpOiF>while $OiML>X

    echo TEl valor de i es T- Oi-TMbrNTOiVV

    YNinalM]RN

    M%bod1N

    ; h= h

  • 7/25/2019 Clase de PHP array

    62/86

    ;emo **** wh=!phpMphp

    Osi8eFL

  • 7/25/2019 Clase de PHP array

    63/86

    Sentencia or

    Mphp

    .or $inicial condicin e(ecutar en

    iteracinXintrucciones a e(ecutar!

    Y

    N

    ; .L h

  • 7/25/2019 Clase de PHP array

    64/86

    ;emo **** .L!php

    MhtmlNMheadNMtitleNE(emplo de PHPM%titleN

    M%headNMbod1N

    "nicioM]RNMphp.or$OiF> OiML> OiVVX

    echo TEl valor de i es T- Oi-TMbrNT

    YNinalM]RNM%bod1N

    M%htmlN

    ; = .= h

  • 7/25/2019 Clase de PHP array

    65/86

    ;emo = *** .=!php

    Dor (Nsi2eF*INsi2eFSINsi2e\\)

    echoK!ont si2eFNsi2eJTa"ao

    Nsi2e,!ontJrJ]nKIQ

    DJ

    E(emplos Propuestos

  • 7/25/2019 Clase de PHP array

    66/86

    E(emplos Propuestos

    Elabore un programa que memuestre todos los numeros de 6ci.ras- que cumplan las siguientescondiciones:

    L! Su primera ci.ra debe de ser multiplode =

    =! Su segunda ci.ra debe de ser

    multiplo de 66! 2as 6 ci.ras deben de ser di.erentes

    entre si!

    Salida

  • 7/25/2019 Clase de PHP array

    67/86

    Salida

    Hasta ahora hemos usado lainstruccin echo para reali8ar salida apantalla- esta instruccin es bastantelimitada 1a que no nos permite

    .ormatear la salida! En esta p/ginaveremos la instruccin print. que nosda mucha m/s potencia!

    Sentencia print.6>p#p6>p#p

    print8(cadena 8ormato" variable9" variable...)Bprint8(cadena 8ormato" variable9" variable...)B

    ;emo Print.L php

  • 7/25/2019 Clase de PHP array

    68/86

    ;emo **** Print.L!phpMhtmlN

    MheadNMtitleNE(emplo de PHPM%titleN

    M%headN

    Mbod1N

    Mphp

    print.$G El numero dos con di.erentes .ormatos: BdB.

    B!=. G -=-=-=

    NM%bod1N

    M%htmlN

    Salida

  • 7/25/2019 Clase de PHP array

    69/86

    Salida2a cadena de .ormato puede incluir una seria decar/cteres especiales que indican como .ormatear

    las variables que se inclu1en en la instruccin!

    Elemento "ipo de variable

    (s )adena de car*cteres.(d &mero sin decimales.

    (+ &mero con decimales.

    (c )ar*cter S)II.unue e'isten otros tipos, estos son los m*simportantes.

    ;emo Print.= php

  • 7/25/2019 Clase de PHP array

    70/86

    ;emo **** Print.=!phpMhtmlNMheadN

    MtitleNE(emplo de PHPM%titleNM%headNMbod1NMphpOvarFTte0toT

    OnumF6print.$TPuede ./cimente intercalar MbNBsM%bN con nmerosMbNBdM%bN MbrNT-Ovar-Onumprint.$TM)A]2E ]QR;ERFL CE22PA;;",IFL>NT.or $OiF>OiML>OiVVX

    print.$TMtrNMtdNBdM%tdNM%trNT-OiYprint.$TM%tableNTNM%bod1NM%htmlN

    Dane(o de Cadenas

  • 7/25/2019 Clase de PHP array

    71/86

    Dane(o de Cadenas

    ;ado el uso del lengua(e PHP eltratamiento de cadenas es mu1importante- e0isten bastantes.unciones para el mane(o de cadenas-

    a continuacin e0plicaremos las m/susadas!

    Dane(o de cadenas

  • 7/25/2019 Clase de PHP array

    72/86

    Dane(o de cadenasstrlen(cadena)&,os devuelve el nmero decar/cteres de una cadena!split(separador#cadena)&;ivide unacadena en varias usando un car/cterseparador!sprint!(cadena de !or"ato# ar*#

    ar0&&&)&ormatea una cadena de te0to aligual que print. pero el resultado es devueltocomo una cadena!sustr(cadena# inicio# longitud)&;evuelve una subcadena de otra-

    empe8ando por inicio 1 de longitud longitud!chop(cadena)&Elimina los saltos de l4nea 1los espacios #nales de una cadena!strpos(cadena*# cadena0)&]usca lacadena= dentro de cadenaL indic/ndonos laposicin en la que se encuentra!

    Mphpecho Tunciones de CadenaMbrNT

  • 7/25/2019 Clase de PHP array

    73/86

    echo unciones de CadenaMbrN OcadFTA]C;ET echo TS)R2E,MbrNTecho T2a Cadena es T!Ocad!T su 2ongitud es

    T!strlen$Ocad!TMbrNT echo TSPR",)MbrNTOres F sprint.$T^0K F Bd MbrNT-^9Kecho TEl resultado de la variables es T!Ores!TMbrNTecho TS_]S)RMbrNT Ocad F T;evuelve una subcadena

    de otraTecho TCadena L *N T!Ocadecho TRecuperar Pos `- Car 6*

    NT!substr$Ocad-`-6!TMbrNTecho TS)RPQSMbrNTOcad F T]usca la palabra dentro de la .raseTecho

    Ocad!TMbrNT

    echo T]uscando la palabra enPos!T!strpos$Ocad-TpalabraT-TMbrNT echoTS)RREP2ACEMbrNT

    Ocad F T_n pe8 de color verde- como verde es lahierba!T

    echo TCadena Qriginal *NT!Ocad!TMbrNTT

    ;emo Cadena= php

  • 7/25/2019 Clase de PHP array

    74/86

    ;emo *** Cadena=!php

    Mphpecho TPara concatenar una CadenaMbrNT

    OcadenaLFT]ienvenidos a Sistemas _,"T

    Ocadena=FT PHP * ,ivel "Techo TCadena L *NT!OcadenaL!TMbrNT

    echo TCadena = *NT!Ocadena=!TMbrNT

    Ocadena6FOcadenaL!Ocadena=echo TCadena Concateneda *NT!

    Ocadena6! TMbrNT N

    ;emo *** Cadena6!php

  • 7/25/2019 Clase de PHP array

    75/86

    ;emo Cadena6!phpMphp

    echo TRecorrer una cadena- utili8ando los

    "ndicesMbrNTOcadena F T]ienvenidos a Sistemas _,"-

    2ima * PeruTecho TCadena Qriginal *NT!Ocadena!TMbrNT

    echo T]uscando la letra _MbrNTOiF> %%recorro la cadena hasta encontraruna T_T

    while $OcadenaOiFT_T && OiMstrlen$OcadenaX

    OiVV Yi. $OiFFstrlen$Ocadena

    echo T2lego al inal- ,o se encuentra la2etras ]uscadaT

    else T T T T

    )ablas

  • 7/25/2019 Clase de PHP array

    76/86

    )ablas

    2as tablas $o arra1 en ingl7s- sonmu1 importantes en PHP- 1a quegeneralmente- las .unciones quedevuelven varios valores- como las

    .unciones ligadas a las bases dedatos- lo hacen en .orma de tabla!

    En PHP disponemos de dos tipos de

    tablas! El primero ser4a el cl/sico-utili8ando 4ndices:

    ;emo )ablaL php

  • 7/25/2019 Clase de PHP array

    77/86

    ;emo * )ablaL!php

    Mphp

    Ociudad F TArequipaT Ociudad F TPiuraT

    Ociudad F T2imaT Ociudad F T"caT Ociudad F T)acnaT Ociudad F T2oretoT

    .or$OindiceF>OindiceMFKOindiceVVprint (KLa Ciudad K&Nindice&K es K&Nciudad^Nindice_&KBRJK)I

    N

    )ablas

  • 7/25/2019 Clase de PHP array

    78/86

    )ablasEl e(emplo anterior es una .orma de

    asignar elementos a una tabla- perouna .orma m/s .ormal es utili8ando la.uncin arra@

    Dphp

    Nciudad F arra@(KAre$uipaK# KPiuraK# KLi"aK#K;caK)I

    ,,conta"os el n`"ero de ele"entos de la tala

    Nnu"ele"entos F count(Nciudad)I

    ,,i"pri"i"os todos los ele"entos de la tala

    !or (NiF6I Ni Nnu"ele"entosI Ni\\)

    print (KLa ciudad Ni es Nciudad^Ni_BRJ]nK)I Q

    J

    ;emo )abla6!php

  • 7/25/2019 Clase de PHP array

    79/86

    e o ab a6 p pMhtmlN

    Mbod1N

    MphpOa> F TpepeGOaL F TluisT

    O.rutas F arra1$TaTFNTnaran(aT- TbTFNTpl/tanoT-TcTFNTman8anaT

    NMhrNMphp

    .or $OiF> OiMsi8eo.$Oa OiVV

    print T?OaOi FN OaOi!MbrN?nT

    O.rutasTdT F TmelnT

    .oreach$O.rutas as Oindice FN Ovalor

    echo T?O.rutasOindice FN Ovalor!MbrN?nT

    NMhrN

    M%bod1N

    M%htmlN

    )ablas

  • 7/25/2019 Clase de PHP array

    80/86

    )ablas

    Recorrer una tabla 1 mostrar sucontenido es sencillo utili8ando los4ndices- pero cmo hacerlo en lastablas asociativas! 2a manipulacin

    de las tabas asociativas se a hacetrav7s de .unciones que actan sobreun puntero interno que indica laposicin! Por de.ecto- el puntero se

    situa en el primer elemento a3adidoen la tabla- hasta que es movido poruna .uncin:

    )ablas

  • 7/25/2019 Clase de PHP array

    81/86

    )ablas

    Current*devuelve el valor del elementoque indica el puntero!Pos * reali8a la misma .uncin quecurrent&

    Reset * mueve el puntero al pri"erelemento de la tabla!End * mueve el puntero al `lti"oelemento de la tabla!

  • 7/25/2019 Clase de PHP array

    82/86

    ;emo * )abla6!phpMphpOsemana F

    arra1$T2unesT-TDartesT-TDi7rcolesT-TZuevesT-T'iernesT-TSabadoT-T;omingoT.or$OiF>OiMcount$OsemanaOiVV print $T;ia Oi es OsemanaOiM]RNTecho T********************************************MbrNT echo T2a cantidad de ;ias es T!count$Osemana!TMbrNT %%\

    %%situamos el puntero en el primer elementoecho T_bicamos el puntero al "nicio MbrNT reset$Osemanaecho TEl 'alor Actual es T!current$Osemana!TMbrNT %%lunesecho TAvan8amos en una PosicionMbrNT ne0t$Osemanaecho TEl 'alor Actual es T!pos$Osemana!TMbrNT %%martesecho T,os 'amos al inal de la Arra1sMbrNTend$Osemanaecho TEl 'alor Actual es T!pos$Osemana!TMbrNT %%domingoecho TRetrocedemos en una PosicionMbrNTprev$Osemanaecho TEl 'alor Actual es T!current$Osemana!TMbrNT %%s/bado

    N

    unciones

  • 7/25/2019 Clase de PHP array

    83/86

    El uso de .unciones nos da la capacidad deagrupar varias instrucciones ba(o un solonombre 1 poder llamarlas a estas variasveces desde di.erentes sitios-ahorr/ndonos la necesidad de escribirlasde nuevo!

    Dphp!unction

  • 7/25/2019 Clase de PHP array

    84/86

    1pcional"ente pode"os pasarle par"etros a las!unciones $ue se trataran co"o ariale locales @as% "is"o pode"os deoler un resultado con lainstrucci'n return alorI Esto produce later"inaci'n de la !unci'n retornando un alor&

    Dphp!unction !act (Nn)

    Nresult F *I !or (NiF*I Ni F NnI Ni\\) Nresult ZF NiI return NresultI QDJht"lJod@J hrJDphp echo Kactorial de *6+ KI print !act(*6)I

    DJhrJ ,od@J ,ht"lJ

    ;emo uncion= php

  • 7/25/2019 Clase de PHP array

    85/86

    ;emo uncion=!php

    Mphp.unction imprime$Ote0to Xecho Ote0to ! GMbrNT

    Y

    .unction imprime,egrilla$Ote0toXecho TM]NOte0toM%]NMbrNT

    Y

    ODiunc F TimprimeTODiunc$THolaT %%imprimir/ Hola

    ODiunc F Timprime,egrillaTODiunc$THolaT %%imprimir/ HolaN

    ;emo uncion6 php

  • 7/25/2019 Clase de PHP array

    86/86

    ;emo uncion6!phpMhtmlN

    MheadN

    MtitleN.uncion 6M%titleNM%headNMbod1NM

    .unction escribesepara$OcadenaX.or $OiF>OiMstrlen$OcadenaOiVVX

    echo OcadenaOii. $OiMstrlen$Ocadena*L

    echo T*TY

    Y

    escribesepara $TholaTecho TMpNTescribesepara $T)e0to m/s largo- a ver lo que haceTNM%bod1N