Matrices en PHP (I)

Ya casi ni me acuerdo de lo que es PHP, tras más de un mes sin ‘tocar’ este blog. Circunstancias, circunstancias, malditas circunstancias…

Valencia, 27/11/2011, G.B.
Hace algún tiempo os comentaba que el próximo post iba a ser sobre las matrices en PHP, un tipo de variables muy importante en programación. Bien, ha llegado el momento. Allá voy.

Una matriz es un tipo de variable que representa a un conjunto de datos a los cuales se puede acceder individualmente a través de su índice u ordenación.  Su nomenclatura oficial es array. Así, los arrays nos permiten asignar más de un valor a una sola variable para luego recuperar cualquiera de sus valores a través de su ordenación o índice. Resaltar que el primer elemento de una matriz o array es el cero (0), a no ser que indiquemos lo contrario.

Bueno, tras esta descripción bastante teórica, vamos a empezar a ilustrar el concepto con un ejemplo. Imaginemos que queremos guardar en variables el número de libros que hemos leído durante el pasado año, si somos buenos lectores, claro:

<?php
$libros_enero = 1; // poco, has leído poco, amiguito
$libros_febrero = 2; // el doble que el mes anterior, no está mal
$libros_marzo = 4; // Otra vez el doble. Muy bien!
$libros_abril = 5; // Aumentamos pero ñlo que no puede ser, no puede ser
$libros_mayo = 6; // Idem del mes anterior
$libros_junio = 7; // Bien, seguimos creciendo en sabiduría…
$libros_julio = 1; // Uy, aquí hemos caído. ‘Back to square one’
?> 

Una vez declaradas todas las variables, podríamos utilizar el siguiente código para recuperar los valores de cada una de ellas. Vamos a utilizar primero las cadenas de bloque que ya hemos visto:

<?php
echo <<< LIBROS

Número de libros que he leído:
– En enero: $libros_enero <br />
– En febrero $libros_febrero <br />
– En marzo $libros_marzo <br />
– etc., etc… <br />
LIBROS;
?> 

El resultado será el siguiente texto:

– En enero: 1
– En febrero: 2
– En Marzo: 4
– etc., etc…

Desde luego, hay más formas de operar y declarar las matrices. Como por ejemplo:

<?php
$libros= array (2, 5, 8, 12); 
?> 

Acabamos de crear una matriz (de nuevo $libros) con cuatro elementos. El primero tiene el valor 2, el segundo 5, el tercero 8 y el cuarto 12.  PHP entenderá que hemos creado la matriz gracias al uso de la palabra reservada array, y que tiene cuatro elementos. Son los números enteros que van entre paréntesis y separados por comas. También podrían ser otro tipo de datos, como cadenas de texto, por ejemplo. Para recuperar los valores de la matriz podríamos volver a utilizar el código anterior, un echo utilizando una cadena en bloque:

Para añadir otro elemento a la matriz que hemos creado, simplemente debemos especificarlo:

<?php
$libros[]= 7;
?>

Y ahora hemos añadido otro elemento a la matriz $libros. Como observamos, para hacerlo simplemente la hemos llamado añadiéndole un corchete de apertura y otro de cierre, indicando seguidamente a través del signo de igualdad el nuevo valor de la matriz, nuestro añadido número 7. El motor de PHP de nuevo entenderá que es una matriz y que acabamos de añadir un nuevo elemento con el valor (numérico en este caso) 7. Vamos a verlo unido, indicando además una nueva instrucción para comprobar los valores de la matriz que hemos creado (print_r):

<?php
$libros= array (2, 5, 8, 12); 
$libros[]= 7;
print_r ($libros);
?>  

El resultado será el siguiente:

Array ([0]==>2 [1]==>5 [2]==>8 [3]==>12 [4]==>2 [4]==>7 )El primer elemento [0] tiene el valor 2, el segundo elemento [1] tiene el valor 5, el tercer elemento [2] tiene el valor 8, el cuarto elemento de la matriz [3] tiene como valor el12 y, por último, el quinto elemento de la matriz que hemos añadido ennuestra segunda línea de código $libros[]= 7;), tiene como valor el 7.

Bueno, hasta aquí la primera parte, muy teórica, lo sé. En la segunda parte veremos unos cuántos más ejemplos y cosas que se me pueden haber escapado…

Ver ejemplo

Algunos enlaces interesantes al respecto:
– Matrices en PHP (PHP.net): http://php.net/manual/es/language.types.array.php
– Matrices en PHP (php-es.com):  http://www.php-es.com/language.types.array.html
– Matrices (Array): http://www.webtaller.com/manual-php/matrices-array.php

CategoríasPHP