5. Vectors

Índex

 

Vectors

Sovint es fan servir dades que es poden agrupar per afinitat temàtica, per exemple els dotze mesos de l'any, els elements alcalins o els països de la Unió Europea. En aquests casos en comptes de dipositar cada valor en una variable diferent, es dipositen en una sola variable conjunta, anomenada vector, composta de diversos termes, portadors cada un d'una clau i d'un valor.

Hi ha dos tipus de clau: les numèriques i les significatives. Una clau numèrica és simplement un índex sense cap significat especial. Un vector amb la clau numèrica és un vector simple. Una clau significativa és un element, numèric o no, proveït d'un significat específic. Els vectors d'aquest segon grup s'anomenen vectors associatius.

Suposem el conjunt format per les 41 comarques de Catalunya. Podem establir un vector que simplement en contingui els noms - vector d'index niumèric - o un que associï el nom de la comarca amb el nom de la capital corresponent - vector associatiu.

Els vectors són també anomenats matrius i arrays (terme anglès).

 

Vectors simples

En el cas dels vectors simples o de clau numèrica, les claus són índexs numèrics, és a dir, nombres enters correlatius; el primer és sempre el 0.

Els vectors es poden crear així:

També es poden donar valors a un terme d'un vector sense declarar prèviament el vector, indicant el número d'index:

El sol fet d'emprar aquest format crea automàtiacment el vector.

En aquest cas tots els valors no especificats seran nuls (però existiran, inclòs el 0, que, com hem dit, sempre és el primer.

 

Recuperació dels valors dels termes d'un vector

Els termes d'un vector poden ésser recuperats amb l'ús explícit de l'índex:

Per exemple, si creem un vector amb els noms dels països de la Unió Europea,

ens retornarà el nom del país que tingui l'índex 3.

El valor obtingut pot ésser passat a una altra variable:

També pot entrar a formar part d'una expressió:

Perl que fa a l'índex numèric, pot ésser indicat indirectament, mitjançant l'ús d'una variable de procedència diversa:

en què $n procedeix, per exemple, d'un cálcul.



Vegeu-ne el resultat

 

Vectors associatius

Com hem dit, en un vector associatiu tant la clau com el valor tenen significat propi:

Els termes del vector poden ésser indicats amb els mateixos dos procediments que en el cas dels vectors simples. L'assignació sense declaració prèvia es fa com s'indica en l'expressió immediatament anterior.

Si es prefereix declarar el vector amb array(), l'índex i el valor s'han de separar amb el símbol =>. En l'exemple següent associem els símbols dels metals alcalins amb els noms corresponents:



Vegeu-ne el resultat

$_POST, que com hem vist reiteradament recull dades procedents d'un formulari, és un cas particular de vector associatiu.