Primero definimos lo que es un array, un array se puede definir como un mapa ordenado, es decir un tipo de dato que asocia valores y claves. De manera simplificada podemos decir que un array es un vector o una matriz donde se almacenan valores.
Un array se puede utilizar como lista o vector, como pila, como tabla asociativa, colección o cola entre otros usos ya que los valores de un array pueden ser a su vez otros arrays, arrays multidimensionales o árboles.
Sin embargo hay tres tipos de arrays dependiendo de la manera de almacenaje que son los siguientes:
àArray numérico indexado o vector: Sus índices son numéricos y se accede a cada valor interno del array a través de un número entero.
Ejemplo:
$var = array($valor1, $valor2, $valor3, $valor4, etc);Siendo $var la variable en la que guardamos el array y $valor1, $valor2… los valores que toma cada elemento del array.
àArray asociativo o de claves: En este caso los valores del array se enlazan con claves.
Ejemplo:
$var = array( $clave1 à valor1, $clave2 à valor2, $clave3 à valor3, $clave4 à valor4); siendo $var la variable en la que guardamos el array y $clave1, $clave2… las claves con las que asignamos los valores 1, 2…
àArray multidimensional: Se trata de arrays de arrays, es decir, cada valor del array es un array.
Ejemplo de un array:
siendo $var la variable en la que guardamos el array que a su vez contiene otros tres arrays.
Ahora vamos a recorrer los diferentes arrays.
Para recorrer un array indexado o de índice numérico es muy sencillo como veremos en el siguiente ejemplo:
Primero creamos el array y le damos valores, lo inicializamos.
Ahora tenemos que hallar la longitud del array, averiguamos el número de elementos. Para ello utilizamos la función count que lo que hace es contar todos los elementos de un array. Count puede devolvernos un mensaje E_WARNING lo que nos indicará que ha encontrado recursividad. También nos puede devolver 0 si la variable que contabiliza se inicializó con un array vacío o si dicha variable no se ha establecido.
Después solo tenemos que recorrer al array con un bucle for. De manera optativa se pueden ir ir imprimiendo los valores si queremos.
Para el siguiente ejemplo recorreremos un array de claves o asociativo:
Creo un array donde el deporte se corresponde con la clave y al deportista con el valor de cada clave.
Después creo un bucle de foreach en php para poder recorrer y sacar los valores del bucle. Foreach es una instrucción que solo podemos utilizar con arrays. Si lo intentamos utilizar con cualquier otro tipo de dato nos proporcionará error. Lo mismo si lo usamos sobre una variable no inicializada.
La función de foreach es repetir un grupo de instrucciones para cada elemento del array. Con dicha instrucción podemos recorrer todo el array y obtener información del mismo.
Sin embargo para insertar o eliminar elementos es preferible utilizar la sentencia for.
Por último vamos a ver un par de ejemplos para recorrer arrays multidimensionales.
En primer caso veremos un array bidimensional o de dos dimensiones.
Tomando el ejemplo anterior:
Para un array tridimensional el funcionamiento es igual que para el multidimensional de dos dimensiones anterior.
Creamos un array de arrays:
Después lo recorremos con un foreach y otros dos foreach dentro anidados: