Añadir nuevos pares clave-valor
Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 44 de 71.
Has aprendido a modificar valores existentes en un array asociativo. Pero ¿qué ocurre cuando asignas un valor a una clave que aún no existe? PHP la crea automáticamente por ti.
<?php
$person = [
"name" => "Alice",
"age" => 25
];
$person["city"] = "Paris";
$person["job"] = "Developer";
echo $person["city"]; // Paris
echo $person["job"]; // Developer
?>La sintaxis es la misma que al modificar, $array["key"] = value, pero cuando la clave no existe, PHP añade un nuevo par clave-valor al array en lugar de actualizar uno existente.
Esto es especialmente útil al construir gradualmente un array asociativo:
<?php
$settings = [];
$settings["theme"] = "dark";
$settings["language"] = "en";
$settings["notifications"] = true;
echo $settings["theme"]; // dark
?>Comenzar con un array vacío y añadir pares según sea necesario es un patrón común al recopilar datos con el tiempo o cuando no conoces todas las claves de antemano.
Desafío
FácilComienza con un array asociativo vacío llamado $profile.
Lee las siguientes entradas:
- Una cadena
key1: la primera clave que se añadirá - Una cadena
value1: el valor dekey1 - Una cadena
key2: la segunda clave que se añadirá - Una cadena
value2: el valor dekey2 - Una cadena
key3: la tercera clave que se añadirá - Una cadena
value3: el valor dekey3
Añade cada par clave-valor al array $profile, después imprime:
- El valor asociado con
key1 - El valor asociado con
key2 - El valor asociado con
key3
Imprime cada resultado en una línea separada.
Ejemplo:
Si las entradas son username, alice123, email, alice@example.com, status y active, la salida debería ser:
alice123
alice@example.com
activeSi las entradas son brand, Nike, size, 42, color y black, la salida debería ser:
Nike
42
blackPruébalo tú mismo
<?php
// Leer entradas
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));
$key3 = trim(fgets(STDIN));
$value3 = trim(fgets(STDIN));
// Comienza con un array asociativo vacío
$profile = [];
// TODO: Escribe tu código debajo
// Añade cada par clave-valor al array $profile
// Imprime los valores asociados con cada clave
echo $profile[$key1] . "\n";
echo $profile[$key2] . "\n";
echo $profile[$key3] . "\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 simple7Arrays Parte 2 - Asociativos
Introducción a los arrays asociativosAcceder a valores por claveModificar valores por claveAñadir nuevos pares clave-valorComprobar si existe una claveRepaso - Almacén de datos clave-valor2Variables 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 cadenasPractica por tu cuenta: Compilador de PHP online