Advertisement
  1. Code
  2. PHP

Comprende los arreglos en PHP

Scroll to top
Read Time: 10 min

Spanish (Español) translation by Ana Paulina Figueroa (you can also view the original English article)

En esta publicación aprenderás los fundamentos de los arreglos en PHP. Aprenderás cómo crear un arreglo y cómo usar arreglos asociativos y multidimensionales, además de ver muchos ejemplos de arreglos en acción.

¿Qué es un arreglo?

En PHP, un arreglo es una estructura de datos que te permite almacenar múltiples elementos en una sola variable. Estos elementos se almacenan como pares clave-valor. De hecho, puedes usar un arreglo cada vez que haya la necesidad de almacenar una lista de elementos. La mayoría de las veces, todos los elementos de un arreglo tienen tipos de datos similares.

Por ejemplo, digamos que queires almacenar nombres de frutas. Sin un arreglo, terminarías creando múltiples variables para almacenar los nombres de las diferentes frutas. Por otro lado, si usas un arreglo para almacenar dichos nombres, éste se vería así:

1
<?php
2
$array_fruits = array('Apple', 'Orange', 'Watermelon', 'Mango');
3
?>

Como puedes ver, hemos usado la variable $array_fruits para almacenar los diferentes nombres de las frutas. Algo genial de este enfoque es que puedes añadir más elementos a la variable de tipo arreglo $array_fruits más adelante.

Existen muchas formas de manipular los valores en la variable de tipo arreglo, y vamos a explorarlas en la parte final de este artículo.

Cómo inicializar un arreglo

En esta sección exploraremos cómo inicializar una variable de tipo arreglo y cómo añadir valores a dicha variable.

Cuando se trata de inicializar arreglos, existen algunas maneras diferentes. En la mayoría de los casos es la construcción array() del lenguaje la que se usa para inicializar un arreglo.

1
<?php
2
$array = array();
3
?>

En el fragmento anterior, la variable $array se inicializa con un arreglo vacío.

A partir de PHP 5.4 también puedes usar la siguiente sintaxis para inicializar un arreglo:

1
<?php
2
$array = [];
3
?>

Ahora veamos cómo añadir elementos a un arreglo.

1
<?php
2
$array = [];
3
$array[] = 'One';
4
$array[] = 'Two';
5
$array[] = 'Three';
6
echo '<pre>';
7
print_r($array);
8
?>

El fragmento anterior debe generar la siguiente salida:

1
Array
2
(
3
    [0] => One
4
    [1] => Two
5
    [2] => Three
6
)

El aspecto importante a destacar aquí es que el índice de un arreglo comienza en 0. Cada vez que agregues un nuevo elemento a un arreglo sin especificar un índice, el arreglo asigna un índice automáticamente.

Desde luego, también puedes crear un arreglo que ya esté inicializado con valor. Esta es la manera más concisa de declarar un arreglo si ya sabes qué valores tendrá.

1
<?php
2
$array = ['One', 'Two', 'Three'];
3
?>

Cómo acceder a los elementos de un arreglo

En la sección anterior discutimos cómo inicializar una variable de tipo arreglo. En esta sección vamos a explorar algunas maneras diferentes de acceder a los elementos del arreglo.

La primera manera obvia de acceder a los elementos del arreglo es obtenerlos a través de la clave o índice del arreglo.

1
<?php
2
$array = ['One', 'Two', 'Three'];
3
4
// get the first element of the $array array

5
echo $array[0];
6
echo "<br>";
7
8
// get the second element of the $array array

9
echo $array[1];
10
echo "<br>";
11
12
// get the third element of the $array array

13
echo $array[2];
14
echo "<br>";
15
?>

El fragmento anterior debe generar la siguiente salida:

1
One
2
Two
3
Three

Una manera más limpia de escribir el código anterior es a través del uso de un bucle foreach para recorrer los elementos del arreglo.

1
<?php
2
$array = ['One', 'Two', 'Three'];
3
4
foreach ($array as $element) {
5
  echo $element;
6
  echo '<br>';
7
}
8
?>

El fragmento anterior debe producir la misma salida, y requiere mucho menos código.

De manera similar, también puedes usar el bucle for para recorrer los elementos del arreglo.

1
<?php
2
$array = ['One', 'Two', 'Three'];
3
$array_length = count($array);
4
5
for ($i = 0; $i < $array_length; ++$i) {
6
  echo $array[$i];
7
  echo '<br>';
8
}
9
?>

Aquí estamos usando el bucle for para pasar a través de cada índice del arreglo y luego usando la instrucción echo con el valor almacenado en ese índice. En este fragmento hemos introducido una de las funciones más importantes que vas a usar al trabajar con arreglos: count. Se usa para contar cúantos elementos hay en un arreglo.

Tipos de arreglos en PHP

En esta sección discutiremos los diferentes tipos de arreglos que puedes usar en PHP.

Arreglos indexados numéricamente

Un arreglo con el índice numérico se encuentra bajo la categoría de un arreglo indexado. De hecho, los ejemplos que hemos discutido hasta ahora en este artículo son de arreglos indexados.

El índice numérico se asigna automáticamente cuando no lo especificas de forma explícita.

1
<?php
2
$array = ['One', 'Two', 'Three'];
3
?>

En el ejemplo anterior no especificamos un índice para cada elemento explícitamente, por lo que será inicializado con el índice numérico automáticamente.

Desde luego, también puedes crear un arreglo indexado usando el índice numérico, como se muestra en el fragmento siguiente,

1
<?php
2
$array = [];
3
$array[0] = 'One';
4
$array[1] = 'Two';
5
$array[2] = 'Three';
6
?>

Arreglos asociativos

Un arreglo asociativo es similar a un arreglo indexado, pero puedes usar valores de tipo cadena para las claves del arreglo.

Veamos cómo definir un arreglo asociativo.

1
<?php
2
$employee = [
3
  'name' => 'John',
4
  'email' => 'john@example.com',
5
  'phone' => '1234567890',
6
];

De forma alternativa, puedes usar la siguiente sintaxis también.

1
<?php
2
$employee = [];
3
$employee['name'] = 'John';
4
$employee['email'] = 'john@example.com';
5
$employee['phone'] = '1234567890';
6
?>

Para acceder a los valores de un arreglo asociativo, puedes usar ya sea el índice o el bucle foreach.

1
<?php
2
$employee = [
3
  'name' => 'John',
4
  'email' => 'john@example.com',
5
  'phone' => '1234567890',
6
];
7
8
// get the value of employee name

9
echo $employee['name'];
10
11
// get all values

12
foreach ($employee as $key => $value) {
13
  echo $key . ':' . $value;
14
  echo '<br>';
15
}
16
?>

Como puedes ver, aquí obtuvimos el nombre consultándolo directamente, y luego usamos el bucle foreach para obtener todos los pares clave-valor del arreglo.

Arreglos multidimensionales

En los ejemplos que hemos discutido hasta ahora, hemos usado valores escalares como elementos del arreglo. De hecho, incluso puedes almacenar arreglos como elementos dentro de otros arreglos. Esto se conoce como arreglo multidimensional.

Veamos un ejemplo

1
<?php
2
$employee = [
3
  'name' => 'John',
4
  'email' => 'john@example.com',
5
  'phone' => '1234567890',
6
  'hobbies' => ['Football', 'Tennis'],
7
  'profiles' => ['facebook' => 'johnfb', 'twitter' => 'johntw']
8
];
9
?>

Como puedes ver, la clave hobbies en el arreglo $employee almacena un arreglo de pasatiempos (o hobbies). De la misma manera, la clave profiles almacena un arreglo asociativo de los diferentes perfiles.

Veamos cómo acceder a los valores de un arreglo multidimensional.

1
<?php
2
$employee = [
3
  'name' => 'John',
4
  'email' => 'john@example.com',
5
  'phone' => '1234567890',
6
  'hobbies' => ['Football', 'Tennis'],
7
  'profiles' => ['facebook' => 'johnfb', 'twitter' => 'johntw']
8
];
9
10
// access hobbies

11
echo $employee['hobbies'][0];
12
// Football

13
14
echo $employee['hobbies'][1];
15
// Tennis

16
17
// access profiles

18
echo $employee['profiles']['facebook'];
19
// johnfb

20
21
echo $employee['profiles']['twitter'];
22
// johntw

23
?>

Como puedes observar, es posible acceder a los elementos de un arreglo multidimensional con el índice o la clave de ese elemento en cada parte del arreglo.

Algunas funciones útiles para los arreglos

En esta sección revisaremos un puñado de útiles funciones para los arreglos que se usan frecuentemente para operaciones con los mimsos.

La función count

La función count se usa para contar el número de elementos de un arreglo. Esto es útil a menudo si quieres recorrer un arreglo con un bucle for.

1
<?php
2
$array = ['One', 'Two', 'Three'];
3
4
// print the number of elements in the array

5
echo count($array);
6
7
// the above code should output

8
3
9
?>

La función is_array

Esta es una de las funciones más útiles para trabajar con arreglos. Se usa para verificar si una variable es un arreglo o si es de algún otro tipo de dato.

1
<?php
2
$array = ['One', 'Two', 'Three'];
3
4
// check if the variable is an array

5
if (is_array($array))
6
{
7
  // perform some array operation

8
}
9
?>

Siempre deberías usar esta función antes de llevar a cabo cualquier operación de arreglo si no estás seguro del tipo de dato.

La función in_array

Si quieres verificar si un elemento existe en el arreglo, la función in_array es la que viene al rescate.

1
<?php
2
$array = ['One', 'Two', 'Three'];
3
4
// check if a variable is an array

5
if (in_array('One', $array))
6
{
7
  echo 'Yes';
8
}
9
else
10
{
11
  echo 'No';
12
}
13
?>

El primer argumento de la función in_array es un elemento que quieras verificar, y el segundo argumento es el arreglo en sí.

La función explode

La función explore divide una cadena en múltiples partes y la devuelve como un arreglo. Por ejemplo, digamos que tienes una cadena separada por comas y que quieres dividirla por las comas.

1
<?php
2
$string = "One,Two,Three";
3
4
// explode a string by comma

5
$array = explode(",", $string);
6
7
// output should be an array

8
echo '<pre>';
9
print_r($array);
10
11
// output

12
/*Array

13
(

14
    [0] => One

15
    [1] => Two

16
    [2] => Three

17
)*/
18
?>

El primer argumento de la función explode es una cadena delimitante (la cadena por la que estés dividiendo), y el segundo argumento es la cadena en sí.

La función implode

Esta hace lo opuesto a la función explode. Dado un arreglo y una cadena de unión, la función implode puede generar una cadena uniendo todos los elementos de un arreglo con una cadena de unión entre ellos.

1
<?php
2
$array = ['One', 'Two', 'Three'];
3
4
$string = implode(",", $array);
5
6
// output should be a string

7
echo $string;
8
9
// output: One,Two,Three

10
?>

El primer argumento de la función implode es una cadena de unión, y el segundo argumento es el arreglo a colapsar.

La función array_push

La función array_push se usa para añadir nuevos elementos al final de un arreglo.

1
<?php
2
$array = ['One', 'Two', 'Three'];
3
array_push($array, 'Four');
4
5
echo '<pre>';
6
print_r($array);
7
8
// output

9
/*Array

10
(

11
    [0] => One

12
    [1] => Two

13
    [2] => Three

14
    [3] => Four

15
)*/
16
?>

El primer argumento es un arreglo, y los argumentos subsecuentes son elementos que serán añadidos al final de un arreglo.

La función array_pop

La función array_pop quita un elemento del final de un arreglo.

1
<?php
2
$array = ['One', 'Two', 'Three'];
3
$element = array_pop($array);
4
5
echo '<pre>';
6
print_r($array);
7
8
// output

9
/*Array

10
(

11
    [0] => One

12
    [1] => Two

13
)*/
14
?>

La función array_pop devuelve el elemento que se quita de un arreglo, de manera que puedas colocarlo en la variable. Junto con array_push, esta función es útil para implementar estructuras de datos como pilas.

Conclusión

Eso es todo lo que necesitas para comenzar a codificar con arreglos en PHP. Viste cómo crear arreglos y cómo recuperar elementos de los mismos. Aprendiste sobre los diferentes tipos de arreglos en PHP, y pudiste ver algunas de las funciones más útiles integradas en PHP para trabajar con arreglos.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.