Modificación de elementos mediante índices
Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 37 de 71.
Has aprendido a acceder a los elementos de un array mediante su índice. Ahora veamos cómo cambiar esos elementos. Modificar un elemento de un array utiliza la misma sintaxis de corchetes, pero con una asignación.
<?php
$fruits = ["Apple", "Banana", "Cherry"];
$fruits[1] = "Blueberry";
echo $fruits[1]; // Blueberry
?>Aquí, reemplazamos "Banana" en el índice 1 por "Blueberry". El valor original desaparece: los arrays no conservan un historial de cambios.
Puedes modificar cualquier elemento siempre que conozcas su índice:
<?php
$scores = [85, 90, 78];
$scores[0] = 95; // Actualizar la primera puntuación
$scores[2] = 82; // Actualizar la última puntuación
echo $scores[0]; // 95
echo $scores[2]; // 82
?>Esto es útil cuando necesitas actualizar datos en tu lista, como corregir un error tipográfico, actualizar un precio o cambiar el estado de un usuario. El índice le indica a PHP exactamente qué elemento reemplazar, dejando todos los demás elementos intactos.
Desafío
FácilLee una línea de entrada que contenga valores separados por comas y que representen una lista de colores (por ejemplo, Red,Green,Blue,Yellow).
Después, lee otras tres entradas:
- Un entero
index1que represente el primer índice que se modificará - Una cadena
newValue1que represente el nuevo valor para ese índice - Un entero
index2que represente el segundo índice que se modificará
Crea un array a partir de la entrada separada por comas y, después:
- Modifica el elemento en
index1para que seanewValue1 - Modifica el elemento en
index2para que seaPurple
Imprime los elementos modificados del array en líneas separadas, en orden desde el índice 0 hasta el último índice.
Ejemplo:
Si las entradas son Red,Green,Blue,Yellow, 0, Orange y 2, la salida debería ser:
Orange
Green
Purple
YellowSi las entradas son Apple,Banana,Cherry,Mango,Kiwi, 1, Grape y 4, la salida debería ser:
Apple
Grape
Cherry
Mango
PurplePruébalo tú mismo
<?php
// Lee los colores separados por comas
$colorsInput = trim(fgets(STDIN));
$colors = explode(',', $colorsInput);
// Lee las entradas de modificación
$index1 = intval(trim(fgets(STDIN)));
$newValue1 = trim(fgets(STDIN));
$index2 = intval(trim(fgets(STDIN)));
// TODO: Escribe tu código aquí
// 1. Modifica el elemento en index1 para que sea newValue1
// 2. Modifica el elemento en index2 para que sea el texto exacto de las instrucciones
// Imprime cada elemento en una línea separada
foreach ($colors as $color) {
echo $color . "\n";
}
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparaciónIgualdad e identidadOperadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simple2Variables y tipos de datos
NúmerosCadenas y comillasBooleanosConvenciones de nombresRepaso: inicialización de variablesVariables vacíasConcatenación de cadenasObtener datos del usuarioConvertir a otros tipos5Lógica condicional
Sentencia ifIf - ElseEl operador ternarioOperador de coalescencia nulaSentencia switchRepaso - Tomar decisiones3Operadores básicos
Operadores aritméticosOperador móduloOperador de exponenciaciónAsignación combinadaIncremento/DecrementoPrecedencia de operadoresRepaso: cálculos simplesOperadores de cadenas6Arrays, parte 1 - indexados
Introducción a los ArraysCreación de Arrays indexadosAcceso a elementos mediante índicesModificación de elementos mediante índicesTamaño de un Array con CountAdición de elementos a un ArrayRepaso - Gestión de una lista sencillaPractica por tu cuenta: Compilador de PHP online