Inicio > PHP > 8- ARRAYS EN PHP

8- ARRAYS EN PHP

En la programación muchas veces se necesitará realizar un recorrido de la información, imprimir una serie de datos e infinitos procesos que requieran ser recorridos por varibles de tipo array que se puedan recorrer en un programa.

8- Arrays

Se tratarán las cosas mas importantes sobre los Arrays (vectores o tablas).

8.1- ¿Qué son los Arrays?

Los arrays son tablas que pueden almacenar muchas cosas de cualquier tipo de dato (ya sea cadena, entero, etc…). Son muy útiles y necesarias de saber ya que muchas funciones (como las de MySQL) devuelven valores en Arrays. Hay 2 tipos de Arrays, los que veremos a continuación.

8.1.1- Arrays clásicos

En este tipo de array se usan índices, y hay dos formas de asignar los elementos al array. La primera sería así:

Código:
php
$numero[0] = "0";
$numero[1] = "1";
$numero[2] = "2";
?>

El primer índice de un array es 0, a menos que se especifique otro.

Aquí un pequeño paréntesis. PHP tiene una “habilidad” que no todos los lenguajes tienen. Se trata de reconocer el índice solo. Osea, si ponemos

Código:
php
$numero[] = "0";
?>

Reconocerá que el índice de ese elemento es 0. Y a medida que vallamos poniendo mas elementos sin índice, seguirá reconociendolos.

La segunda forma sería usando la función array() para definir cada elemento. Usando el ejemplo anterior de los números, usando esta forma sería así:

Código:
php
$numero = array ("0","1","2");
?>

Como lo expliqué, el primer índice sería 0. Para especificar otro (en esta forma), usaremos el operador => para definir otro índice. Así:

Código:
php
$numero = array (1=>"0","1","2");
?>

Entonces el array quedaría así:

Código:
Array (
1 => 0
2 => 1
3 => 2
)

Un Array clásico podría ser fácilmente recorrido por un bucle for(). De la siguiente manera:

Código:
php
$descripcion = array ("Valor","Cosa","Color");
for ($i = 0; $i <= count ($descripcion); $i++) {
echo $descripcion[$i];
}
?>

La función count() devuelve el número de elementos del array especificado. También puede ser recorrido MUCHO mas fácil por la función foreach(), que está hecha especialmente para Arrays, pero se verá mas adelante (esa función puede ser usada tanto en Arrays clásicos, como en Arrays asociativos y multidimensionales).

8.1.2- Arrays asociativos

El Array asociativo vendría a ser lo mismo que el Array clásico, solo que en vez de que el índice sea un número, es un valor (o key) para cada elemento. Supongamos que queramos almacenar el color de un auto de determinada marca en un Array. Usando índices, sería así:

Código:
php
$color[0] = "Rojo";
$color[1] = "Negro";
?>

Ahora, usando Arrays asociativos, sería así:

Código:
php
$color["Ferrari"] = "Rojo";
$color["Porsche"] = "Negro";
?>

O, con la función array():

Código:
php
$color = array ("Ferrari"=>"Rojo", "Porsche"=>"Negro");
?>

Es muy fácil recorrer el contenido de los Arrays clásicos, porque tienen índices numéricos… ¿Pero qué se hace para recorrer el contenido de un Array asociativo? Bueno, para eso fueron hechas ciertas funciones de control sobre Arrays asociativos:

current(array)
Devuelve el valor del elemento sobre el que está el puntero en array.

pos(array)
Hace lo mismo que current.

next(array)
El puntero se mueve al siguiente elemento en array.

prev(array)
El puntero se mueve al elemento anterior en array.

end(array)
El puntero se mueve al final de array.

reset(array)
El puntero se mueve al principio de array.

8.2- Arrays multidimensionales

Los Arrays multidimensionales son, simplemente, Arrays que al mismo tiempo son otro Array. Supongamos que queremos tener en un Array el número de días de un mes y el nombre del mes. Sería así:

Código:
php
$mes[] = array ("31","Enero");
$mes[] = array ("28","Febrero");
$mes[] = array ("31","Marzo");
?>

Entonces, una manera de acceder a su contenido al estilo Array clásico sería:

Código:
php
$mes[] = array ("31","Enero");
$mes[] = array ("28","Febrero");
$mes[] = array ("31","Marzo");
echo $mes[1][1]." tiene ".$mes[1][0]." días";
?>

El resultado, en ese caso, sería “Febrero tiene 28 días”. Asi de simple. Ahora veremos la función. foreach(), para recorrer Arrays.

8.3- La función foreach

Esta función es muy simple, solo tienes que especificar el Array que recorrerás, y como se llamará cada índice. Su código es:

Código:
php
foreach (array as nombreindice) {
//Código a ejecutar
}
?>

Osea, si quisieramos recorrer el siguiente Array clásico:

Código:
php
$color[0] = "Rojo";
$color[1] = "Negro";
?>

Podría ser algo así:

Código:
php
$color[0] = "Rojo";
$color[1] = "Negro";
foreach ($color as $key) {
echo $key."<br>";
}
?>

Lo que imprime en pantalla es:

Citar
Rojo
Negro

Para un array asociativo se tendría que especificar otra cosa: la clave (o key), pero no es necesario. En este caso (el de los autos y los colores) usaré la clave también:

Código:
php
$color["Ferrari"] = "Rojo";
$color["Porsche"] = "Negro";
foreach ($color as $key=>$clave) {
echo $key."->".$clave."\n";
}
?>

El resultado es:

Citar
Ferrari->Rojo
Porsche->Negro

Y finalmente, para un Array multidimensional, sería todo casi igual, solo que para la variable que mostrará los elementos, debe especificarse el índice que se quiere. Usando el ejemplo de meses y días:

Código:
php
$mes[] = array ("31","Enero");
$mes[] = array ("28","Febrero");
$mes[] = array ("31","Marzo");
foreach ($mes as $key) {
echo $key[1]." tiene ".$key[0]." días
";
}
?>

El resultado es:

Citar
Enero tiene 31 días
Febrero tiene 28 días
Marzo tiene 31 días
Categorías:PHP Etiquetas:
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: