Crear un arreglo 2D
Parte de la sección Lógica y Flujo del Journey de PHP de Coddy. Lección 27 de 68.
Un array multidimensional es simplemente un array que contiene otros arrays como sus elementos. El tipo más común es un array 2D, que puedes imaginar como una cuadrícula con filas y columnas, similar a una hoja de cálculo o un tablero de juego.
Crear un array bidimensional en PHP es sencillo. Construyes un array en el que cada element es a su vez un array:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
?>Esto crea una cuadrícula de 3x3 donde cada array interno representa una row, y cada element dentro de esos array representa una columna. También puedes crear array bidimensionales con diferentes tipos de datos:
<?php
$scores = [
[85, 92, 78],
[90, 88, 95],
[76, 84, 89]
];
?>PHP también proporciona una función integrada llamada array_fill() que te permite crear rápidamente un array rellenado con un valor específico. Acepta tres argumentos: el índice inicial, el número de elementos y el valor con el que se rellenará:
<?php
// array_fill(start_index, num_elements, value)
$row = array_fill(0, 3, 0); // [0, 0, 0]
?>Puedes combinar array_fill() consigo misma para construir una matriz 2D de manera eficiente. Por ejemplo, para crear una cuadrícula de 3x3 en la que cada celda comience con 0:
<?php
$grid = array_fill(0, 3, array_fill(0, 3, 0));
// Resultado: un array 3x3 donde cada elemento es 0
?>Los arrays multidimensionales son increíblemente útiles para organizar datos estructurados, como tableros de juegos, tablas de información o cualquier situación en la que necesites representar datos en formato de cuadrícula. Proporcionan una forma natural de trabajar con filas y columnas de información relacionada.
Desafío
FácilRecibirás tres entradas que representan las dimensiones y el valor inicial de un array 2D: el número de filas, el número de columnas y un valor para rellenar cada posición. Lee estas entradas, crea un array 2D con las dimensiones especificadas donde cada elemento se establezca con el valor dado e imprime el array usando print_r().
Formato de entrada:
- Primera línea: número de filas (entero)
- Segunda línea: número de columnas (entero)
- Tercera línea: valor inicial para cada elemento (cadena)
Salida esperada: el array 2D creado, mostrado usando print_r()
Pruébalo tú mismo
<?php
// Leer entrada
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));
// TODO: Escribe tu código debajo para crear el array 2D
// Mostrar el resultado
print_r($array);
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Funciones avanzadas
Funciones anónimasClosures y 'use'Funciones de flechaFunciones callbackUso de 'call_user_func'Funciones variablesPaso por referenciaFunciones recursivasResumen: Miscelánea de funciones4Arreglos multidimensionales
Crear un arreglo 2DAcceder a elementos de un arreglo 2DModificar elementos de un arreglo 2DIterar con bucles anidadosArreglos asociativos 2DResumen: Ejercicio de cuadrícula simple2Manipulación avanzada de arrays
Agregar con 'array_push'Eliminar con 'array_pop'Agregar con 'array_unshift'Eliminar con 'array_shift'Fusionar arrays indexadosFusionar arrays asociativosExtraer con 'array_slice'Valores con 'in_array'Claves con 'array_search'Resumen: Ejercicio de Playlist3Ordenar Arrays
Ordenar arrays indexados de forma ascendenteOrdenar arrays indexados de forma descendenteOrdenar arrays asociativos por valorOrdenar arrays asociativos por claveOrdenación por orden naturalOrdenación personalizada con 'usort'Resumen: Ordenar tablas de clasificaciónPractica por tu cuenta: Compilador de PHP online