PHP Arreglos · 14 min read · Nov 18, 2025

Guía Detallada Sobre Arreglos En PHP

Guía Detallada Sobre Arreglos En PHP

¡Buen Día!

Aquí hay otro artículo de la serie Artículos Rápidos de PHP. Hoy vamos a discutir ARREGLOS. Aprenderemos su sintaxis, sus diferentes tipos, las diferentes funciones integradas de arreglos que ayudan a realizar diferentes tareas relacionadas con arreglos rápidamente y diferentes ejemplos prácticos que explican el uso de arreglos en PHP.

Al final de este artículo deberías ser capaz de:

- Definir Arreglos

  • Usar diferentes tipos de Arreglos
  • Usar diferentes funciones integradas relacionadas con Arreglos e.g list(), each(), var_dump, print_r, var_export()

- Escribir código php básico así como complejo usando Arreglos.

  • Trabajar con arreglos multidimensionales
  • Entender el bucle Foreach con la ayuda de diferentes ejemplos

Pero antes de discutir arreglos, déjame contarte una historia muy interesante.

Tengo una tienda de DVD cerca de mi oficina que mantiene una muy buena colección de películas en inglés. Puedes encontrar películas de casi todos los géneros e.g películas de acción, películas de terror, películas románticas (hhhhh - ‘respiración profunda’), dramas, obras de teatro, películas religiosas, etc….

El dueño de la tienda no es una persona muy educada, pero aún así puede gestionar fácilmente más de 20,000 DVDs y puede sacar la película tan pronto como dices su nombre… hmm, ¿la cuestión es cómo lo hace?

Bueno, he analizado su estrategia y déjame revelar este gran secreto para organizar un montón de elementos con un método especial para manejarlos fácilmente.

Él ha categorizado todos los DVDs en diferentes géneros como discutimos arriba y también ha dado IDs / códigos / números especiales a diferentes estantes en su tienda. Mantiene las películas relacionadas en los mismos estantes. Cada estante está etiquetado con el nombre de la categoría e.g Películas Románticas, Películas de Terror, etc. Cada DVD tiene un ID único que se puede usar para rastrear ese DVD.

Cuando un cliente pide una película, digamos Double Team, él rápidamente se mueve al estante etiquetado como Películas de Acción, luego a la FILA etiquetada como ‘D’ que significa nombres de películas que comienzan con ‘D’ y luego rápidamente llega a la secuencia de ‘D’ seguida de ‘O’ y llega a la película DOUBLE TEAM. Y memoriza los IDs de los DVDs famosos, así que cuando le preguntas, te dirá que tomes el DVD # xxxx del estante etiquetado con ESTE NOMBRE y puedes recogerlo directamente de allí.

Y todo esto se hace tan rápidamente que parece magia obtener un DVD específico de una enorme colección tan rápidamente. Así que si alguna vez comienzas a administrar una tienda de DVD, entonces haz lo siguiente para ORGANIZAR TUS DVDs:

a) Mantén los DVDs similares en el mismo estante.
b) Etiqueta cada Categoría con su nombre.
c) Etiqueta las FILAS de DVDs.
d) Asigna IDs a todos los DVDs.

Vamos a absorber la moraleja de esta historia y volver al mundo de la computadora.

En programación, a veces tienes que manejar diferentes valores relacionados que están unidos de diferentes maneras. Por ejemplo, Nombres de los Cinco Mejores Estudiantes, Modelos de Autos Porsche, Variables Enviadas Desde un Formulario, etc. En tales condiciones, necesitas organizar tu código y lógica para manejar datos de tipo similar de manera eficiente y rápida. Para este propósito, puedes usar la lógica del vendedor de DVDs al:

  1. Organizar Datos en diferentes categorías unidas.
  2. Etiquetar las FILAS.
  3. Asignar IDs Únicos a cada valor de datos.

Podría haber diferentes técnicas para hacer esto y una de ellas son los ARREGLOS.

Definición Básica de Arreglos: Una caja que te ayuda a mantener los datos similares / datos de mismo interés juntos para una mejor organización y procesamiento.

Definición Adecuada de Arreglos:

“Colección de diferentes variables bajo la misma etiqueta para mantener los valores organizados y fácilmente accesibles para el procesamiento.”

Sí, es mi propia definición de arreglos y tengo el derecho de definir cualquier cosa en mis propias palabras siempre que el concepto central sea correcto y puedas entender de qué estoy hablando.

Aunque algunos también definen arreglos como “es una especie de variable que contiene más variables en sí misma”.

Por favor recuerda que PHP maneja variables normales y arreglos de una manera ligeramente diferente.

Sintaxis de Arreglos:

$arrayName = array ("value1?","value2?","value3?");

Usamos el signo $ para dar un nombre a un arreglo como lo hacemos para las variables, después un signo igual y luego la palabra clave ‘array’ que le dice al analizador que estamos trabajando con arreglos y luego diferentes valores dentro de paréntesis y cada valor encerrado en comillas dobles separados por comas.

Ejemplo de PHP para definir e imprimir arreglos:

$Top3Sites = array (“fastcreators.com”,”howtoforge.com”,”scriptsbible.com”);

print_r($Top3Sites);
?>

La salida del programa anterior será.

Array
(
[0] => fastcreators.com
[1] => howtoforge.com
[2] => scriptsbible.com
)

Por favor nota que usamos print_r para imprimir un arreglo porque no puedes imprimir un arreglo con la función echo o print (ambas se usan para mostrar salida) aunque puedes usar echo o print para mostrar elementos individuales del arreglo e.g.:

echo $Top3Sites[0]; //fastcreators.com

Recuerda que el número de índice comienza desde 0 y no desde 1.

Cada valor del arreglo obtiene un ID único que se conoce como NÚMERO DE ÍNDICE.

La otra forma podría ser definir tres variables diferentes y luego asignarles valores y usar diferentes declaraciones para mostrarlas. Podría ser aceptable en el caso de tres valores por el bien del argumento, aunque será rechazado cuando tratemos con cincuenta o cien valores.

Así que los arreglos son más organizados y pueden servir para recopilar diferentes valores bajo la misma etiqueta para un procesamiento rápido.

En el ejemplo anterior definimos y asignamos valores al arreglo en un solo paso, aunque también puedes hacerlo de la siguiente manera:

$students = array(); //solo define un arreglo

//asignando valores  

$students[0] = “Haroon”;
$students[1] = “Celine”;
$students[3] = “Jennifer”;
$students[4] = “Bobby”;

?>

Tipos de Arreglos:

Hay tres tipos diferentes de arreglos en PHP:

a) Arreglo Numérico: Un arreglo con una clave ID numérica.
b) Arreglo Asociativo: Un arreglo donde cada clave ID está asociada con un valor.
c) Arreglo Multidimensional: Un arreglo que contiene uno o más arreglos.

Ahora discutamos los diferentes tipos de arreglos en detalle.

Arreglos Numéricos: Los arreglos numéricos utilizan enteros / números como su número de índice para identificar cada elemento del arreglo. El ejemplo que discutimos arriba son arreglos numéricos ya que tienen valores enteros como números de índice para cada elemento.

$colours = array(“white”,”black”,”blue”);

print_r($colours);

/*
output will be

Array
(
[0] => white
[1] => black
[2] => blue
)
*/
?>

En la salida anterior puedes ver que los números de índice para blanco, negro y azul son 0,1,2 respectivamente, que son valores numéricos y por lo tanto llamamos a tales arreglos arreglos numéricos.

Arreglos Asociativos:

A veces es mejor usar el nombre del índice en lugar del número de índice, por ejemplo, si quieres guardar los nombres y números de tres estudiantes, tu mejor opción será usar el nombre de cada estudiante como valor de índice para el arreglo y sus números como los valores, observa el ejemplo a continuación,

$students[‘Anna’] = 90;
$students[‘Maria’] = 60;
$students[‘Jennifer’] = 40;

?>

Cuando envías un formulario usando el método POST o GET, obtienes un arreglo asociativo similar en la página receptora que contiene el nombre de cada campo del formulario como índice del arreglo y su valor como valor de índice. Intenta hacer un formulario HTML con algunos campos y envíalo y en la página receptora imprime los arreglos globales como

print_r($_POST);
print_r($_GET);

y verás el arreglo asociativo.

Los Arreglos Asociativos son más fáciles de manejar y procesar información, especialmente al tratar con envíos de formularios complejos y valores dinámicos de bases de datos, etc.

Arreglos Multidimensionales:

Un arreglo multidimensional puede contener arreglos dentro de sí mismo y los subarreglos contienen más arreglos dentro de ellos.

Pasemos a un ejemplo del mundo real para entender el concepto de arreglos multidimensionales:

David tiene dos hijos, Richie y Mason. Richie tiene dos hijas, Sue y Natasha, mientras que Mason tiene tres hijas, Nichole, Salma y Amber.

Ahora su árbol genealógico es el siguiente:

arreglos multidimensionales

Si queremos mostrar el árbol genealógico de David con un arreglo multidimensional en PHP, entonces podemos definir un arreglo como a continuación:

$david = array
(
“richie”=>array
(
“Sue”,
“Natasha”
),

“Mason”=>array
(
“Nichole”,
“Salma”,
“Amber”
)

);

Así es como puedes usar arreglos multidimensionales para organizar datos. Intenta enviar un arreglo de campos de formulario y luego imprime el arreglo global para verificar la salida, obtendrás el arreglo global como un arreglo multidimensional que contendrá más subarreglos.

BUCLE FOREACH: Si recuerdas en mi último artículo sobre “Bucles En PHP” dejé el BUCLE FOREACH para discutirlo más tarde y ahora ha llegado el momento de discutirlo.

El bucle foreach se utiliza para arreglos para tomar cada siguiente valor del arreglo y realizar cualquier acción que se requiera sobre él.

La sintaxis básica de un bucle foreach es la siguiente:

Sintaxis FOREACH:

foreach ( $arrayname as $temporaryVarName ) { 

// cuerpo del bucle foreach
//$temporaryVarName contiene los valores del arreglo y
//en cada ejecución del bucle tomará el siguiente valor disponible del arreglo
}

Escribamos un programa usando un bucle foreach para entender su funcionamiento en profundidad:

$students = array(); // define arreglo estudiantes

//asignando valores

$students[0] = “david”;
$students[1] = “kevin”;
$students[2] = “julie”;
$students[3] = “nayyar”;

/
hora usaremos el bucle foreach para mostrar todos los nombres de los estudiantes, es decir, los valores del arreglo de una vez
/

foreach ( $students as $std_name ) {

echo $std_name . “\n”;

}

?>

En el código anterior, $std_name funciona como una variable temporal para obtener cada valor del arreglo. En cada ejecución del bucle, el siguiente valor disponible del arreglo sobrescribe el valor existente de $std_name y luego $std_name apunta al valor actual obtenido. Así que es como caminar a través de los valores de tu arreglo uno por uno.

La salida del código anterior será:

david
kevin
julie
nayyar

ya que estamos usando \n (salto de línea) para mostrar cada nombre en la siguiente línea.

El bucle foreach termina cuando no hay valor disponible a continuación, es decir, alcanza el último valor del arreglo que es NAYYAR en nuestro caso.

Puedes romper el bucle en cualquier momento usando la declaración break si es necesario (hemos discutido la declaración break en la TOMA DE DECISIONES USANDO SWITCH EN PHP).

Por ejemplo, si quieres romper el bucle si el nombre es julie, entonces puedes incluir una declaración IF en el código anterior como a continuación:

foreach ( $students as $std_name ) {

if($std_name == “julie”) break;
echo $std_name . “\n”;

}

?>

Tenemos algunas otras funciones muy útiles que pueden trabajar con arreglos para darte un procesamiento rápido de arreglos para proporcionar resultados eficientes. Algunas de ellas se discuten a continuación:

Funciones Importantes de Arreglos:

1) Guardar la salida de la función print_r: hemos
utilizado anteriormente print_r para mostrar los valores del arreglo, aunque podemos agregar un argumento extra a print_r y guardar su salida en una variable e.g.:

$myarray = array(“Apples”, “Oranges”, “Pears”);
$output = print_r($myarray, true);
print $output;
?>

El print_r mostrará el arreglo en sí si no usas TRUE - el segundo argumento, sin embargo, almacenará su salida en la variable si se proporciona TRUE.

2) ¿Cómo encontrar el tamaño de un Arreglo? El tamaño de un
arreglo significa cuántos valores contiene un arreglo… si quieres encontrar
el número de valores de un arreglo puedes usar la función COUNT de la siguiente manera:

$myarray = array(“Apples”, “Oranges”, “Pears”);
$size = count($myarray);
print $size; // 3
?>

El programa anterior mostrará 3 porque tenemos tres elementos en el arreglo.

3) Función var_dump:

Hay una función similar a print_r(), que es var_dump(). Hace en gran medida lo mismo, pero

a) imprime tamaños de variables,
b) no imprime datos no públicos en objetos, y
c) no tiene la opción de pasar un segundo parámetro para devolver su salida.

Por ejemplo, alterar el primer script para usar var_dump() en lugar de print_r() daría la siguiente salida:

array(3) {
[0]=>
string(6) “Apples”
[1]=>
string(7) “Oranges”
[2]=>
string(5) “Pears”
}

Ahí puedes ver que var_dump() nos ha dicho que el arreglo tiene tres
valores, y también imprime las longitudes de cada una de las cadenas. Para
propósitos de enseñanza, var_dump() es mejor ya que muestra los tamaños de las variables, sin embargo, probablemente querrás usar print_r() en tu propio trabajo.

4) Función var_export:

Además, existe la función var_export(), que es similar a var_dump() y print_r(). La diferencia clave con var_export(), sin embargo, es que imprime información de variables en un estilo que puede ser utilizado como código PHP. Por ejemplo, si hubiéramos usado var_export() en lugar de print_r() en el script de prueba, habría producido lo siguiente:

array (
0 => ‘Apples’,
1 => ‘Oranges’,
2 => ‘Pears’,
)

Nota que hay una coma extra después del último elemento, sin embargo, esto es ignorado por PHP y puedes copiar y pegar esa información directamente en tus propios scripts, así:

$foo = array (
0 => ‘Apples’,
1 => ‘Oranges’,
2 => ‘Pears’,
);
?>

5) Función array_shift:

La función array_shift elimina el primer elemento de un arreglo del arreglo y lo almacena en la variable receptora.

Por ejemplo, si quiero eliminar Apples del arreglo utilizado en programas anteriores y almacenarlo en una variable diferente, entonces puedo escribir un programa como a continuación:

$myarray = array(“Apples”, “Oranges”, “Pears”);
$fruit = array_shift($myarray);
echo $fruit; // Apples
print_r($myarray); // Oranges y Pears se mostrarán sin Apples

?>

Es una función muy útil si tienes un arreglo multidimensional enviado desde un formulario y quieres obtener el sub-arreglo del arreglo principal. Pero recuerda que cuando obtienes un sub-arreglo del arreglo principal usando array_shift, entonces las variables receptoras ( $fruit en el anterior) no serán una variable normal sino un arreglo.

También te sugeriría estudiar tres otras funciones útiles relacionadas con array_shift en el Manual Oficial de PHP en

array_unshift
array_pop
array_push

PHP ofrece una lista muy larga de diferentes funciones útiles de arreglos que puedes encontrar en el MANUAL OFICIAL DE PHP.

Una cosa que quiero mencionar aquí es que el bucle foreach no es la única forma de procesar arreglos - puedes hacerlo usando otros bucles e.g. BUCLE FOR o funciones list() y each().

Para procesar un arreglo a través de necesitarás encontrar el número total de los valores en el arreglo, es decir, el tamaño del arreglo como a continuación:

for ($i = 0; $i < count($array); ++$i) {
print $array[$i];
}
?>

Esto funcionará bien para arreglos numéricos que tienen valores enteros como números de índice, pero esto no se ajusta a los arreglos asociativos.

Procesar Arreglos con la función LIST():

PHP ofrece la función LIST() que se puede usar para recorrer los valores del arreglo de manera fácil y rápida como a continuación:

while (list($var, $val) = each($array)) {
print “$var es $val\n”;
}
?>

List() es una función que hace lo opuesto de array() - toma un arreglo y lo convierte en variables individuales. Each() toma un arreglo como su parámetro y devuelve la clave y el valor actuales en ese arreglo antes de avanzar el cursor del arreglo. “Cursor del arreglo” es el término técnico para el elemento de un arreglo que se está leyendo actualmente. Todos los arreglos tienen un cursor, y puedes moverlo libremente - se usa en el bucle while anterior, donde necesitamos iterar a través de un arreglo. Para empezar, each() devolverá el primer elemento, luego el segundo elemento, luego el tercer, y así sucesivamente, hasta que encuentre que no hay elementos restantes, en cuyo caso devolverá falso y terminará el bucle.

El significado de esa primera línea es “obtener el elemento actual en el arreglo, y asignar su clave a $var y su valor a $val, luego avanzar el cursor del arreglo”.

Obtener tanto el índice como el valor del elemento del arreglo: Si deseas leer el nombre del índice así como su valor para cada elemento del arreglo, entonces puedes usar el bucle foreach como sigue:

foreach ($array as $key => $val) {
print “$key = $val\n”;
}

?>

Es muy útil cuando tratas con arreglos asociativos.

Los arreglos son un tema muy profundo y hay mucho más que discutir e incluso puedo escribir fácilmente un libro completo solo sobre arreglos. Pero el objetivo de este artículo es darte una comprensión muy sólida de los arreglos y diferentes métodos para almacenar y procesar información en arreglos. Sin embargo, si tienes alguna pregunta específica sobre arreglos, no dudes en enviarme un correo electrónico o comentar sobre este artículo.

Es un artículo largo, así que podría haber algunos errores tipográficos; si encuentras alguno, por favor repórtamelo para que pueda corregirlo. Hasta que nos volvamos a encontrar, sigue practicando y cuídate…

  • Haroon Ahmad

Otros Artículos de Esta Serie:

TUTORIAL RÁPIDO DE PHP (Parte 1)
Cómo Instalar PHP en Windows (Tutorial Rápido de PHP Parte 2)
Cómo Instalar PHP en Linux
Cómo Instalar Apache en Windows
Instaladores Fáciles para Instalar PHP, MySQL, Apache en Windows
Fundamentos de Programación en PHP
Operadores en PHP
Toma de Decisiones usando IF-ELSE en php
Toma de Decisiones usando la Declaración Switch en PHP
Bucles En PHP

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.