Entrada

PHP : Arrays Asociativos

¿Qué es un Array Asociativo?

En PHP, un array asociativo es un tipo de array en el que cada elemento se asocia a una clave (key) en lugar de un índice numérico. Las claves pueden ser cadenas de texto, lo que permite identificar de forma descriptiva cada valor del array.

Características Principales

  • Clave-Valor: Cada elemento del array se compone de una clave única y su valor asociado.
  • Acceso Descriptivo: Permite acceder a los datos mediante nombres significativos en lugar de índices numéricos.
  • Flexbilidad: Es ideal para representar estructuras de datos complejas, como información de un usuario, configuraciones, etc.

Declaración y Ejemplos Básicos

Para declarar un array asociativo en PHP, puedes utilizar la función array() o la sintaxis corta [].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Usando array()
$persona = array(
    "nombre"    => "Juan",
    "edad"      => 30,
    "profesion" => "Desarrollador"
);

// Usando la sintaxis corta
$producto = [
    "id"         => 101,
    "nombre"     => "Camiseta",
    "precio"     => 19990,
    "disponible" => true
];
?>

Acceso a Elementos

Para acceder a los valores de un array asociativo, se utiliza la clave entre corchetes ['key']:

1
2
3
4
<?php
echo $persona["nombre"];    // Salida: Juan
echo $producto["precio"];   // Salida: 19990
?>

Iteración con Foreach

Recorrer arrays asociativo con foreach es la opción preferida por su claridad, eficiencia y facilidad para acceder tanto a la clave como al valor de cada elemento:

1
2
3
4
5
<?php
foreach ($persona as $clave => $valor) {
    echo "$clave: $valor<br>";
}
?>

Operaciones Básicas con Arrays Asociativos

Añadir y Modificar Elementos

Para agregar nuevos elementos o modificar los existentes simplemente seleccionamos esa clave asignándole un valor (si no existe, se agrega):

1
2
3
4
5
6
7
8
9
<?php
// Añadir un nuevo elemento
$persona["email"] = "juan@example.com";

// Modificar un elemento existente
$persona["edad"] = 31;

print_r($persona);
?>

Eliminar Elementos

Para eliminar un elemento, se utiliza la función unset():

1
2
3
4
<?php
unset($persona["profesion"]);
print_r($persona);
?>

Validación de Existencia

Antes de acceder a un elemento, verifica que la clave exista para evitar errores:

1
2
3
4
5
6
7
<?php
if (isset($persona["email"])) {
    echo $persona["email"];
} else {
    echo "No se ha definido el email.";
}
?>

Extraer Claves y Valores

También se puede aprovechar funciones que ofrece PHP como array_keys() y array_values() que facilitan trabajar con arrays asociativos. En este ejemplo, se muestra cómo obtener todas las claves y valores de un array:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$configuracion = [
    "sitio"      => "Mi Blog",
    "tema"       => "Oscuro",
    "version"    => "1.0.3",
    "mantenimiento" => false
];

$claves = array_keys($configuracion);
$valores = array_values($configuracion);

echo "Claves: <br>";
foreach ($claves as $clave) {
    echo "$clave<br>";
}

echo "<br>Valores: <br>";
foreach ($valores as $valor) {
    echo "$valor<br>";
}
?>

Ejemplo: Array Multidimensional

En este ejemplo, creamos un array asociativo donde cada clave representa un identificador de usuario y su valor es otro array asociativo con información detallada.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
$usuarios = [
    "usuario1" => [
        "nombre"    => "Ana",
        "edad"      => 28,
        "profesion" => "Diseñadora"
    ],
    "usuario2" => [
        "nombre"    => "Luis",
        "edad"      => 34,
        "profesion" => "Programador"
    ],
    "usuario3" => [
        "nombre"    => "María",
        "edad"      => 22,
        "profesion" => "Estudiante"
    ],
];

// Recorrer el array multidimensional con foreach
foreach ($usuarios as $id => $usuario) {
    echo "ID: $id<br>";
    foreach ($usuario as $clave => $valor) {
        echo "$clave: $valor<br>";
    }
    echo "<br>";
}
?>
Esta entrada está licenciada bajo CC BY 4.0 por el autor.