Voy a realizar varios post para hablar de la función PHP array(), sus tipos y repasar las funciones más usadas para trabajar con arrays. En cada uno pondré ejemplos fáciles para su aprendizaje y entendimiento.
En este primero voy a centrarme en su sintaxis, tipos y ejemplos para recorrer arrays. Los demás podéis verlos en este otro post:
Un array es una matriz/vector/arreglo que almacena valores de 3 maneras posibles dependiendo de su tipo. Enumero los 3 diferentes tipos tal y como explica la web oficial:
Es un tipo de array que tiene índices numéricos y se accede con un número entero a cada valor del mismo.
$variable = array($valor1, $valor2, $valor2,...);
Explico la línea superior:
Os he preparado esta demo de ejemplo para recorrer un array con índice numérico:
$nombre = "Aner"; $array = array(1, 2, 3, "casa", $nombre); //saco el numero de elementos $longitud = count($array); //Recorro todos los elementos for($i=0; $i<$longitud; $i++) { //saco el valor de cada elemento echo $array[$i]; echo "<br>"; }
Como podréis ver, he metido diferentes tipos de valores:
Luego asigno a la variable $longitud el número de elementos del array sacado con la función count(). Después recorro el array con un bucle for y saco por pantalla cada valor.
Podemos acceder directamente a un elemento del array sin necesidad de recorrerlo, sería así:
//ejemplo para acceder al primer elemento $array[0]; //ejemplo para acceder al sexto elemento $array[5];
Este es un array cuyos valores se asignan mediante claves:
$variable = array(clave1=>valor1, clave2=>valor2, clave3=>valor3...);
Comento el código:
He preparado otro código de ejemplo para recorrer un array asociativo en PHP:
$equipo = array(portero=>'Cech', defensa=>'Terry', medio=>'Lampard', delantero=>'Torres'); foreach($equipo as $posicion=>$jugador) { echo "El " . $posicion . " es " . $jugador; echo "<br>"; }
En el código superior he asignado a cada clave (puesto) un valor (nombre del jugador). Luego recorro los valores insertados con un bucle PHP foreach() y saco los valores.
Con este código inferior se puede acceder directamente a un elemento sin necesidad de recorrer todos los valores:
//así estaría accediento al valor de la clave delantero $equipo['delantero'];
Se puede resumir como un array de arrays, os dejo su sintaxis y un ejemplo de array bidimensional y cómo recorrerlo:
$equipo_futbol = array ( array("Rooney","Chicharito","Gigs"), array("Suarez"), array("Torres","Terry","Etoo") ); foreach($equipo_futbol as $equipo) { echo "En este equipo juegan: "; foreach($equipo as $jugador) { echo $jugador ." "; } echo "<br>"; }
Describo el código:
En caso de necesitar acceder a un elemento en cuestión, este es el código:
$equipo_futbol[0][1];
De esta manera hemos accedido al jugador 2 del primer equipo.
Al igual que el anterior es un array de arrays, en este caso es de 3 dimensiones. Aquí el ejemplo:
$datos = array( array(array(0, 0, 0), array(0, 0, 1), array(0, 0, 2) ), array(array(0, 1, 0), array(0, 1, 1), array(0, 1, 2) ), array(array(0, 2, 0), array(0, 2, 1), array(0, 2, 2) ) );
Como veis, en la matriz del ejemplo hay una profundidad de 3 arrays, es decir, el primero contiene un segundo y el segundo de 3 terceros.
Os pongo el código necesario en este ejemplo para recorrer el array tridimensional:
foreach($datos as $datos2) { foreach($datos2 as $datos3) { foreach($datos3 as $dato) { echo "$dato "; } echo "<br>"; } echo "<br>"; }
En caso de necesitar acceder a un elemento concreto:
$datos[0][2][1];
En este post tenéis ejemplos para ordenar arrays: Ordenar arrays con PHP sort(), asort() y ksort().
Con la función PHP array_push() podemos añadir elementos al array y con unset() eliminarlos.
En este otro post usando la función PHP count() consigo contar el número de elementos de un array.
Para sacar el valor de un array por pantalla podemos usar la función PHP var_export() o PHP var_dump().