Post on 27-Feb-2018
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