Array asociativo en PHP
Los arrays asociativos en PHP son aquellos arrays que permiten almacenar pares de tipo clave - valor. Es decir, con su ayuda se pueden establecer sus propias claves.
La sintaxis es la siguiente: clave, luego viene
una flecha =>, y después valor.
Pongamos como ejemplo un array de días de la semana.
Con la ayuda de un array asociativo se puede hacer
que Monday tenga la clave 1,
y no cero:
<?php
$a = [1 => 'Monday', 2 => 'Tuesday', 3 => 'Wednesday', 4 => 'Thursday', 5 => 'Friday', 6 => 'Saturday', 7 => 'Sunday'];
echo $a[1]; // mostrará 'Monday'
?>
Las claves no necesariamente tienen que ser números, también pueden ser cadenas. Hagamos un array en el que las claves sean los nombres de los empleados, y los elementos - sus salarios:
<?php
// Array de empleados:
$a = ['John' => 200, 'Mary' => 300, 'Nick' => 400];
?>
Averigüemos el salario de Mary:
<?php
$a = ['John' => 200, 'Mary' => 300, 'Nick' => 400];
echo $a['Mary']; // mostrará 300
?>
Los arrays a los que se les han especificado claves explícitamente, se llaman asociativos.
Truco con las claves
Cuando hicimos el array asociativo de días de la semana, tuvimos que asignar todas las claves manualmente.
En realidad no es necesario asignar
claves a todos los elementos - basta con que solo
al primer elemento se le asigne la clave 1.
Si el segundo elemento no tiene clave, PHP la asignará automáticamente, y será la siguiente en orden.
Y el siguiente número será justamente el
2, ya que el elemento anterior tenía
la clave 1 (no importa que la hayamos puesto nosotros mismos,
y no PHP automáticamente).
Ajustemos nuestro array:
<?php
// Especificamos las claves explícitamente:
$a = [1 => 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
echo $a[3]; // mostrará 'Wednesday'
?>
El truco es bastante útil, úsenlo.