Menu
Coddy logo textTech

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.

challenge icon

Desafío

Fácil

Comienza 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 de key1
  • Una cadena key2: la segunda clave que se añadirá
  • Una cadena value2: el valor de key2
  • Una cadena key3: la tercera clave que se añadirá
  • Una cadena value3: el valor de key3

Añade cada par clave-valor al array $profile, después imprime:

  1. El valor asociado con key1
  2. El valor asociado con key2
  3. 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
active

Si las entradas son brand, Nike, size, 42, color y black, la salida debería ser:

Nike
42
black

Prué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";
?>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de PHP online