Modificar elementos de un arreglo 2D
Parte de la sección Lógica y Flujo del Journey de PHP de Coddy — lección 29 de 68.
Una vez que puedes acceder a los elementos de un arreglo bidimensional, el siguiente paso lógico es aprender cómo cambiar sus valores. Modificar elementos en un arreglo bidimensional utiliza la misma sintaxis de doble índice que para acceder a ellos, pero con un operador de asignación para establecer un nuevo valor.
Aquí se explica cómo modificar un elemento específico en un array bidimensional:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
// Cambia la celda central a 'X'
$gameBoard[1][1] = "X";
// Cambia la esquina superior izquierda a 'O'
$gameBoard[0][0] = "O";
?>La sintaxis $gameBoard[1][1] = "X" apunta a la fila 1, columna 1 (el centro de una cuadrícula de 3x3) y asigna el valor "X" a esa posición. Esto modifica directamente el array original, reemplazando cualquier valor que estuviera allí antes.
Esta técnica de modificación es esencial para actualizar estados de juego, cambiar datos en tablas o cualquier escenario donde necesites alterar posiciones específicas dentro de tu estructura de datos tipo cuadrícula. La capacidad de localizar y actualizar ubicaciones exactas hace que los arreglos 2D sean perfectos para representar información dinámica y cambiante organizada en filas y columnas.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Desafío
FácilRecibirás cuatro entradas: un array bidimensional que representa un plano de asientos en formato JSON, un índice de fila, un índice de columna y el nombre de un nuevo pasajero. Lee las cuatro entradas, convierte la cadena JSON en un array bidimensional, modifica el elemento en la fila y columna especificadas asignando el nombre del nuevo pasajero y muestra el array bidimensional actualizado utilizando print_r().
El array bidimensional representa un plano de asientos donde cada elemento contiene el nombre de un pasajero o una cadena vacía para los asientos vacantes.
Formato de entrada:
- Primera línea: Un array JSON que representa el plano de asientos (ejemplo:
[["Alice","Bob",""],["","Charlie","Diana"],["","",""]]) - Segunda línea: Índice de fila (entero)
- Tercera línea: Índice de columna (entero)
- Cuarta línea: Nombre del nuevo pasajero (cadena)
Salida esperada: El array bidimensional modificado mostrado utilizando print_r()
Hoja de referencia
Para modificar elementos en un arreglo bidimensional, utiliza la sintaxis de doble índice con un operador de asignación:
$array[row][column] = newValue;Ejemplo de modificación de un tablero de juego:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
// Cambia la celda central a 'X'
$gameBoard[1][1] = "X";
// Cambia la esquina superior izquierda a 'O'
$gameBoard[0][0] = "O";
?>Esto modifica directamente el arreglo original, reemplazando el valor en la posición especificada. La técnica de modificación es esencial para actualizar datos dinámicos organizados en filas y columnas.
Pruébalo tú mismo
<?php
// Leer las entradas
$json_input = trim(fgets(STDIN));
$row_index = intval(fgets(STDIN));
$col_index = intval(fgets(STDIN));
$new_passenger = trim(fgets(STDIN));
// Convertir JSON a un arreglo 2D
$seating_chart = (array)json_decode($json_input, true);
// TODO: Escribe tu código a continuación para modificar el mapa de asientos
// Imprimir el arreglo modificado
print_r($seating_chart);
?>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