Este tipo de vectores no es común a otros lenguajes, pero en PHP son de uso indispensable en distintas situaciones (ya lo empleamos cuando recuperamos información de un formulario accediendo al vector $_REQUEST que crea PHP en forma automática, cuando accedamos a datos de una base de datos también lo emplearemos etc.)
Un vector asociativo permite acceder a un elemento del vector por medio de un subíndice de tipo string.
Inicialmente uno piensa que esto nos complica las cosas, como veremos más adelante la realidad nos demuestra lo contrario.
Como ejemplo, consideremos que deseamos guardar en un vector el DNI, nombre y dirección de una persona. Empleando un vector con subíndice entero la solución sería:
<?php $registro[]="20456322"; $registro[]="Martinez Pablo"; $registro[]="Colon 134"; ?>
De esta forma debemos recordar que cuando deseamos mostrar el nombre de la persona debemos acceder al subíndice 1. Esto es sencillo si tenemos un vector con tres elementos, pero que sucede si debemos almacenar 20 datos relacionados en un vector.
Un vector asociativo se define de la siguiente forma:
<?php $registro['dni']="20456322"; $registro['nombre']="Martinez Pablo"; $registro['direccion']="Colon 134"; echo $registro['nombre']; ?>
Ahora vemos que para imprimir el nombre de la persona no debemos recordar una posición dentro de un vector sino un nombre de clave. Esto se hace indispensable cuando administramos un conjunto de datos grandes.
En un vector asociativo toda componente está asociada a una clave.
Otras formas de crear un vector asociativo:
<?php $registro=array('dni'=>'20456322', 'nombre'=>'Martinez Pablo', 'direccion'=>'Colon 134'); echo $registro['dni']; ?>
Copiar el contenido de este cuadro de texto al NotePad++ y grabarlo en la carpeta c:\wamp\www con un nombre con extensión php (si hay varios cuadros
de texto grabar cada uno en un archivo distinto).
luego abrir el navegador (Chrome, FireFox, IExplorer etc.) y en la barra de direcciones tipear: http://localhost/pagina1.php (o el nombre del
archivo que le dió)
Crear un vector asociativo que almacene las claves de acceso de 5 usuarios de un sistema. Acceder a cada componente por su nombre. Imprimir una componente del vector.