Sunteți pe pagina 1din 3

Programacin en PHP

Introduccin
Los arreglos son una recoleccin de datos en una misma variable, por ejemplo un arreglo de los dias de la
semana podra ser as:
$Dias = array('Lunes','Martes','Mircoles','Jueves','Viernes','Sbado','Domingo'!
Ahora bien, si deseamos imprimir un contenido seria, por ejemplo:
ec"o #$oy es #%$Dias&'(%# y ma)ana sera #%$Dias&*(!
Lo cual imprime:
$oy es Mircoles y ma)ana sera Jueves
Asi pues podemos notar que el arreglo comienza a recorrerse a partir de la direccin 0, es decir Dias[0
corresponde a !Lunes! " Dias[# corresponde a !Domingo!$
%i deseamos imprimir todos los das de la semana podramos hacerlo en un ciclo utilizando una variable
bandera &i&, ejemplo:
+or ($i=,!$i-=.!$i//
ec"o $Dias&$i(%#,# !
Lo cual imprimiria:
Lunes,Martes,Mircoles,Jueves,Viernes,Sbado,Domingo
'(isten varias )ormas de de)inir una variable como arra" *o un valor+$ Las m,s comunes son:
$variable = array(
'indice' =0 'valor',
'valor', 11 Si se omite el 2ndice el valor es el 3rimer n4mero natural no
usado (de , a in+inito
!
$variable&( = 'valor'!
$variable&'indice'( = 'valor'!
-a" que recordar que al escribir dos veces un mismo ndice del arra", los datos se sobreescriben:
$array = array(
'valor5del5indice5,'
!
var5dum3($array!
$array&,( = 'valor5nuevo'!
var5dum3($array!
Los ejemplos anteriores acceden mediante un ndice a los elementos del arra"$ .-. permite adem,s acceder "
modi)icar los arra"s por m/todos alternativos que pueden ser mucho m,s convenientes en determinadas
ocasiones$
Utilizando arrays como pilas
.ara a0adir un elemento al )inal del arra" utilizamos la )uncin arra"1push " para leer " eliminar el 2ltimo
elemento a0adido utilizamos la )uncin arra"1pop$ 'sto nos permite p$ej, utilizar un arra" como una pila para
almacenar el estado intermedio de una operacin:
-63"3
$3ila = array(!
array53us"($3ila,#7n #!
array53us"($3ila,#8#!
array53us"($3ila,#Mundo#!
array53us"($3ila,#$ola #!
array53us"($3ila,#9#!
3rint array53o3($3ila!
3rint array53o3($3ila!
3rint array53o3($3ila!
3rint array53o3($3ila!
3rint array53o3($3ila!
60
La salida ser, similar a:
9$ola Mundo8
Arrays como diccionarios (tablas Hash)
Al igual que en las tablas de una base de datos muchas veces conviene inde(ar por una cadena de te(to en
vez de por un ndice entero de )orma que podemos buscar p$ej, el nombre de una persona a partir de su
identi)icador )iscal$ %upongamos que tenemos la siguiente tabla:
:denti+icador; <ombre
=iscal ;
=======================
,,,,,,,,> ; =ernando
,,,,,,,,' ; Marta
,,,,,,,,* ; ?l+onso
.ara representar la misma mediante un arra" .-.:
-63"3
$bbdd = array(!
$bbdd&#,,,,,,,,>#(=#=ernando#!
$bbdd&#,,,,,,,,'#(=#Marta#!
$bbdd&#,,,,,,,,*#(=#?l+onso#!
3rint $bbdd&#,,,,,,,,*#(!
60
3n ejemplo ligeramente m,s complejo$ %upongamos que la tabla tiene varias columnas:
:denti+icador; <ombre ;?3ellido>;?3ellido';@dad;
=iscal ; ; ; ; ;
=================================================
,,,,,,,,> ; =ernando;Aenito ;?lcantara; B* ;
,,,,,,,,' ; Marta ;?benia ;Carrasco ; '* ;
,,,,,,,,* ; ?l+onso ;Cordero ;Cam3o ; DB ;
'ntonces puesto que nada impide que un elemento de un arra" sea a su vez otro arra":
-63"3
$bbdd = array(!
$bbdd&#,,,,,,,,>#(=array(#=ernando#,#Aenito #,#?lcantara#,#B*#!
$bbdd&#,,,,,,,,'#(=array(#Marta #,#?benia #,#Carrasco #,#'*#!
$bbdd&#,,,,,,,,*#(=array(#?l+onso #,#Cordero#,#Cam3o #,#DB#!
3rint5r($bbdd&#,,,,,,,,*#(!
60
La salida del script ser, similar a:
?rray
(
&,( =0 ?l+onso
&>( =0 Cordero
&'( =0 Cam3o
&*( =0 DB

A la hora de crear4inicializar4de)inir el arra" podemos tambi/n utilizar la sinta(is:


array(#clave>#=0#valor>#,#clave'#=0#valor'#,#clave*#=0#valor*#,%%%
lo cual nos permite mejorar el ejemplo anterior:
-63"3
$bbdd = array(!
$bbdd&#,,,,,,,,>#(=array(#<ombre#=0#=ernando#,#?3ellido>#=0#Aenito
#,#?3ellido'#=0#?lcantara#,#@dad#=0#B*#!
$bbdd&#,,,,,,,,'#(=array(#<ombre#=0#Marta #,#?3ellido>#=0#?benia
#,#?3ellido'#=0#Carrasco #,#@dad#=0#'*#!
$bbdd&#,,,,,,,,*#(=array(#<ombre#=0#?l+onso
#,#?3ellido>#=0#Cordero#,#?3ellido'#=0#Cam3o #,#@dad#=0#DB#!
3rint5r($bbdd&#,,,,,,,,*#(!
3rint(#@dadE#%$bbdd&#,,,,,,,,*#(&#@dad#(!
60
La salida entonces ser, similar a:
?rray
(
&<ombre( =0 ?l+onso
&?3ellido>( =0 Cordero
&?3ellido'( =0 Cam3o
&@dad( =0 DB

@dadEDB

S-ar putea să vă placă și