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'];
?>
PROBLEMA RESUELTO
<html> <head> <title>Problema</title> </head> <body> <?php //Almacenar en un vector asociativo la cantidad de dias que tiene //cada mes del año. Luego accederlo por su nombre como subindice. $mes['enero']=31; $mes['febrero']=29; $mes['marzo']=31; $mes['abril']=30; $mes['mayo']=31; $mes['junio']=30; $mes['julio']=31; $mes['agosto']=31; $mes['septiembre']=30; $mes['octubre']=31; $mes['noviembre']=30; $mes['diciembre']=31; echo "Enero tiene:".$mes['enero']."<br>"; echo "Agosto tiene:".$mes['agosto']."<br>"; echo "Septiembre tiene:".$mes['septiembre']."<br>"; ?> </body> </html>
PROBLEMA PROPUESTO
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.
No hay comentarios:
Publicar un comentario