Matrices Indexadas
- Son aquellas en las que el índice es un valor numérico.
- Para empezar, veamos cómo crearíamos una matriz con nombres de personas (aunque, por supuesto, podríamos usar otros valores):
$nombres = array("Pedro", "Ana", "Celeste", "María", "Alfredo");
- Fíjese que ocupamos la función array().
- Esta función recibe como argumentos, los elementos que queremos almacenar en la matriz, y la crea.
- A cada uno de estos elementos se le ha asignado un índice numérico secuencial, según el orden en el que han sido dispuestos en la declaración, empezando por cero.
- Para recuperar alguno de los elementos de la matriz, usaremos la notación genérica siguiente:
- En esta notación, $n entre corchetes es un valor numérico referido al índice del elemento de la matriz que nos interesa. Como índice podemos usar un número o una constante o variable que lo represente. Vea el siguiente script
<?php$nombres = array ("Pedro", "Ana", "Celeste", "María", "Alfredo");echo ($nombres[0]."<br />");echo ($nombres[1]."<br />");echo ($nombres[2]."<br />");echo ($nombres[3]."<br />");echo ($nombres[4]."<br />");?>
<?php$nombres = array ("Pedro", "Ana", 34, True);echo ($nombres[0]."<br />");echo ($nombres[1]."<br />");echo ($nombres[2]."<br />");echo ($nombres[3]."<br />");?>
<?php$nombres = array ("Pedro", "Ana", "Carmen", "Alfredo", "Eva");echo ($nombres[0]."<br />");echo ($nombres[1]."<br />");echo ($nombres[2]."<br />");echo ($nombres[3]."<br />");echo ($nombres[4]."<br />");$nombres[5]="Susana";echo ($nombres[5]."<br />");?>
<?php$nombres = array ("Pedro", "Ana", "Carmen", "Alfredo", "Eva");echo ($nombres[0]."<br />");echo ($nombres[1]."<br />");echo ($nombres[2]."<br />");echo ($nombres[3]."<br />");echo ($nombres[4]."<br />");$nombres[ ]="Susana";echo ($nombres[5]."<br />");?>
<?php$nombres = array ("Pedro", "Ana", "Carmen", "Alfredo", "Eva");$indice=2;echo ($nombres[$indice]."<br />");?>
Alterar el Orden de una Matriz
<?php$nombres = array (1=>"Pedro", "Ana", "Carmen", "Alfredo", "Eva");echo ($nombres[1]."<br />");echo ($nombres[2]."<br />");echo ($nombres[3]."<br />");echo ($nombres[4]."<br />");echo ($nombres[5]."<br />");?>
- La numeración sería 1, 2, 50, 51, 52.
- PHP solo ocupa memoria para 5 indices, mas no para 52 indices
- Cuando lo desee, usted puede crear nuevos índices, incluso indices intermedios.
Matrices asociativas
<?php$amigo = array ("nombre"=>"Pedro Torres", "direccion"=>"CL Mayor, 37", "telefono"=>123456789);echo ($amigo["nombre"]."<br />");echo ($amigo["direccion"]."<br />");echo ($amigo["telefono"]."<br />");?>
<?php$amigo = array ("nombre"=>"Pedro Torres", "direccion"=>"CL Mayor, 37", "telefono"=>123456789);$indice="nombre";echo ($amigo[$indice]."<br />");$indice="direccion";echo ($amigo[$indice]."<br />");$indice="telefono";echo ($amigo[$indice]."<br />");?>
Matrices Mixtas
<?php$amigos = array (array("nombre"=>"Pedro Torres", "direccion"=>"CL Mayor, 37", "telefono"=>123456789), array("nombre"=>"Carlos Gómez", "direccion"=>"CL Alfareros, 12", "telefono"=>567891234), array("nombre"=>"Susana Casas", "direccion"=>"CL Sierra Grande, 2", "telefono"=>987654321), array("nombre"=>"Carmen Pérez", "direccion"=>"CL Himalaya, 189", "telefono"=>502983948));echo ("<table border='2' cellpadding='2' cellspacing='0'>");echo ("<tr>");echo ("<th>Número</th>");echo ("<th>Nombre</th>");echo ("<th>Dirección</th>");echo ("<th>Teléfono</th>");echo ("</tr>");echo ("<tr>");echo ("<td>0</td>");echo ("<td>".$amigos[0]["nombre"]."</td>");echo ("<td>".$amigos[0]["direccion"]."</td>");echo ("<td>".$amigos[0]["telefono"]."</td>");echo ("</tr>");echo ("<tr>");echo ("<td>1</td>");echo ("<td>".$amigos[1]["nombre"]."</td>");echo ("<td>".$amigos[1]["direccion"]."</td>");echo ("<td>".$amigos[1]["telefono"]."</td>");echo ("</tr>");echo ("<tr>");echo ("<td>2</td>");echo ("<td>".$amigos[2]["nombre"]."</td>");echo ("<td>".$amigos[2]["direccion"]."</td>");echo ("<td>".$amigos[2]["telefono"]."</td>");echo ("</tr>");echo ("<tr>");echo ("<td>3</td>");echo ("<td>".$amigos[3]["nombre"]."</td>");echo ("<td>".$amigos[3]["direccion"]."</td>");echo ("<td>".$amigos[3]["telefono"]."</td>");echo ("</tr>");echo ("</table>");?>
Paso a Paso
- El array del ejemplo en color naranja, hace referencia a una matriz indexada y dentro de ella se declaran cuatro matrices asociativas.
- Ahora vea la forma de acceder a los elementos de una matriz, se realiza en forma jerárquica.
- Podrían ser dos indices indexados o dos asociativos, no hay problema en eso.
- También la matriz puede ser irregular, es decir no se requiere que todos tengan la misma asociación, por ejemplo:
$amigos = array (array("nombre"=>"Pedro Torres", "direccion"=>"CL Mayor, 37", "telefono"=>123456789), array("nombre"=>"Carlos Gómez", "direccion"=>"CL Alfareros, 12", "telefono"=>567891234), array("nombre"=>"Susana Casas", "telefono"=>987654321), array("nombre"=>"Carmen Pérez", "direccion"=>"CL Himalaya, 189", "telefono"=>502983948));
- A susana le falta su dirección
- A Carmen su teléfono
- Y es perfectamente válido
Hasta la Próxima
Si te hemos ayudado : )
Te agradeceríamos que apoyaras este proyecto
0 comentarios:
Publicar un comentario