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 donde cada elemento es, a su vez, un array:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
?>Esto crea una cuadrícula de 3x3 donde cada array interno representa una fila, y cada elemento dentro de esos arrays representa una columna. También puedes crear arrays 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 lleno con un valor específico. Toma tres argumentos: el índice inicial, el número de elementos y el valor a rellenar:
<?php
// array_fill(start_index, num_elements, value)
$row = array_fill(0, 3, 0); // [0, 0, 0]
?>Puedes combinar array_fill() consigo mismo para construir un array bidimensional de manera eficiente. Por ejemplo, para crear una cuadrícula de 3x3 donde cada celda comienza en 0:
<?php
$grid = array_fill(0, 3, array_fill(0, 3, 0));
// Resultado: un array de 3x3 donde cada elemento es 0
?>Los arreglos multidimensionales son increíblemente útiles para organizar datos estructurados como tableros de juego, tablas de información o cualquier situación en la que necesites representar datos en un 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 para un arreglo bidimensional: el número de filas, el número de columnas y un valor para completar cada posición. Lee estas entradas, crea un arreglo bidimensional con las dimensiones especificadas donde cada elemento esté configurado con el valor dado, e imprime el arreglo 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)
Resultado esperado: El arreglo bidimensional creado mostrado usando print_r()
Pruébalo tú mismo
<?php
// Leer la entrada
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));
// TODO: Escribe tu código a continuación para crear el arreglo 2D
// Imprimir 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ón