Categorías: PHP y MySQL

PHP array(): Tipos y ejemplos para recorrer arrays

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:

  • Array numérico indexado.
  • Array asociativo.
  • Array multidimendional (Matrices).

Ejemplo de PHP array con índice numérico (indexado)

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:

  • $variable: Es la variable donde se guardará el array.
  • $valor1, $valor2 y $valor3: Valores de cada elemento.

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:

  • Numéricos: 1, 2 y 3
  • String: «casa».
  • Una variable con valor «Aner».

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];

Ejemplo de PHP array asociativo

Este es un array cuyos valores se asignan mediante claves:

$variable = array(clave1=>valor1, clave2=>valor2, clave3=>valor3...);

Comento el código:

  • $variable: Elemento donde se quedará almacenado el array.
  • $clave1, $clave2 y $clave3: Claves por las cuales se asignarán y asociarán los valores 1, 2 y 3.

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'];

Ejemplo de PHP array bidimensional (multidimensional)

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:

  • $equipo_futbol: Es un array contenedor de otros 3 arrays con jugadores de futbol.
  • Luego recorro el array con PHP foreach() $equipo_futbol y a su vez recorro cada array que encuentro para sacar los jugadores.

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.

Ejemplo de PHP array tridimensional (multidimensional)

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];

Funciones sort(), asort() y ksort() para ordenar arrays

En este post tenéis ejemplos para ordenar arrays: Ordenar arrays con PHP sort(), asort() y ksort().

Añadir y eliminar elementos de un array con PHP array_push() y unset()

Con la función PHP array_push() podemos añadir elementos al array y con unset() eliminarlos.

Contar el número de elementos en un array con PHP count()

En este otro post usando la función PHP count() consigo contar el número de elementos de un array.

Sacar el valor de un array por pantalla

Para sacar el valor de un array por pantalla podemos usar la función PHP var_export() o PHP var_dump().

compartir
Publicado por
Aner Barrena