Manuals     Documents           Torna a Eurion Networks

Manuals

Taules o arrays en PHP

Creació de taules per mitjà de variables tipus array. Utilitat i funcions útils relacionades.

 

Un tipus de variable que ja hem descrit però pot ser relativament complicat a assimilar pel que fa a la majoria són els arrays. Un array és una variable que està composta de diversos elements cadascun d'ells catalogat dintre d'ella mateixa per mitjà d'una clau.

En els capítols anteriors posàvem l'exemple d'un array anomenat “sentit”, que contenia els diferents sentits del ser humà:

$sentit[1]="veure"

$sentit[2]="tocar"

$sentit[3]="escoltar"

$sentit[4]="tastar"

$sentit[5]="olorar"

 

En aquest cas, aquest array cataloga els seus elements, comunment anomenats valors, per nombres. Els nombres de l’1 al 5 són per tant les claus i els sentits són els valors associats. Res ens impedeix emprar noms (cadenes) per a classificar-los. L'única cosa que haurem de fer és posar-los entre cometes:

 

$moneda["espanya"]="Pesseta";
$moneda["anglaterra"]="Lliure";
$moneda["usa"]="Dòlar";
?>


Una altra forma de definir idènticament aquest mateix array i que ens pot ajudar per a la creació d’arrays més complexos és la següent sintaxi:

 

$moneda=array("espanya"=> "Pesseta","anglaterra" => "Lliure","usa" => "Dòlar");
?>






 

 

Una forma molt pràctica d'emmagatzemar dades és mitjançant la creació d’arrays multidimensionals (taules). Posem l'exemple següent: Volem emmagatzemar dintre d'una mateixa taula el nom, moneda i llengua parlada en cada país. Per a fer-ho podem emprar un array anomenat país que vindrà definit per aquestes tres característiques (claus). Per a crear-lo, hauriem d'escriure una expressió del mateix tipus que la vista anteriorment en la qual ficarem un array dintre de l'altre. Aquest procés d'incloure una instrucció dintre d'una altra es diu niar i és molt corrent en programació:

 

$pais=array
(
"espanya" =>array
(
"nom"=>"Espanya",
"llengua"=>"Castellà",
"moneda"=>"Pesseta"
),
"anglaterra" =>array
(
"nom"=>"Anglaterra",
"llengua"=>"Anglès",
"moneda"=>"Lliure"
)
);
echo $pais["espanya"]["moneda"] //Treu a la pantalla: "Pesseta"
?>

 

Abans d'entrar en el detall d'aquest petit script, comentem alguns punts referents a la sintaxi. Com pot veure's, en aquesta seqüència de script, no hem introduït punt i coma ";" al final de cada línia. Això és simplement a causa del fet que allò que hem escrit pot ser considerat com una sola instrucció. En realitat, som nosaltres qui decidim tallar-la en diverses línies per a, així, facilitar la seva lectura. La veritable instrucció acabaria una vegada definit completament l’array i és precisament aquí on hem col·locat l'únic punt i coma. Per altra banda, podeu observar com hem jugat amb el tabulador per a separar unes línies més que altres del principi. Això també ho fem per qüestions de claredat, ja que ens permet veure quines parts del codi estan incloses dintre d'unes altres. És important acostumar-se a escriure d'aquesta forma de la mateixa manera que a introduir els comentaris ja que la claredat dels scripts és fonamental a l'hora de depurar-los. Una mica d'esforç a l'hora de crear-los pot estalviar-nos moltes hores a l'hora de corregir-los o modificar-los mesos més tard.

Passant ja al comentari del programa, com podeu veure, aquest ens permet emmagatzamar taules i, a partir d'una simple petició, visualitzar un determinat valor en pantalla.

El que és interessant és que la utilitat dels arrays no acaba aquí, sinó que també podem utilitzar tot un seguit de funcions creades per a ordenar-los per ordre alfabètic directe o invers, per claus, comptar el nombre d'elements que componen l’array a més de poder moure'ns per dintre d'aquest cap a davant o endarrere.

Moltes són les funcions proposades per PHP per al tractament d’arrays, no entrarem aquí en una descripció de les mateixes. Només inclourem aquesta petita taula que pot ser completada, si necessari, amb la documentació que ja hem esmentat.

 

Funció

Descripció

array_values (el_meu_array)

Llista els valors continguts en el meu array.

asort(mi_array) i arsort(el_meu_array)

Ordena per ordre alfabètic directe o invers en funció dels valors.

count(el_meu_array)

Ens dóna el numero d'elements del nostre array.

ksort(el_meu_array) i krsort(el_meu_array)

Ordena per ordre alfabètic directe o invers en funció de les claus.

list ($variable1, $variable2...)=el_meu_array

Assigna cada variable a cadascun dels valors de l’array.

next(el_meu_array), prev(el_meu_array), reset(el meu_array) i end(el_meu_array)

Ens permeten moure'ns per dintre de l’array amb un punter cap a davant, enrere i al principi i al final.

each(el_meu_array)

Ens dóna el valor i la clau de l'element en el qual ens trobem i mou al punter al següent element.

 

De gran utilitat és també el bucle foreach, que recorre de forma seqüencial l’array de principi a fi. Està explicat en el capítol “Bucles II”.



Article original: Rubén Álvarez
Traducció i adaptació: pp_cc.
Correcció: JoTGi.

© CyberCat, Eurion Networks
Membre de WICCAC