martes, 10 de mayo de 2011

7. Los arrays

Soluciones a las prácticas

Ya estoy aquí de nuevo, hoy voy a hablar de los arrays.
Un array es una variable que almacena un conjunto de valores. Un array puede tener muchos elementos .

ARRAY INDEXADO NUMERICAMENTE
$nombres=array(“Eva”, “Pilar”, “Pepe”);
A cada elemento que forma el array se le da un valor numérico que es su índice y que empieza por 0. En el caso del array $nombres Eva tendría el valor numérico 0, Pilar el valor numérico 1 y Pepe el valor numérico 2. Estos valores junto con los nombres son clave para acceder al array. Aunque esto se puede modificar, podemos indicar que en vez de empezar por 0 empiece por 1.

Para acceder al array Eva es lo mismo que $nombre[0], para el array Pilar $nombre[1] y para el array Pepe $nombre [2]. De forma que si hacemos un pequeño script para que nos aparezca los tres nombres impresos en pantalla haremos lo siguiente:
<?
$nombres=array(“Eva”, “Pilar”, “Pepe”);
echo $nombres[0].”<br>”;
echo $nombres[1].”<br>”;
echo $nombres[2].”<br>”;
?>
Para que nos salga los nombres que hay dentro del array impresos en pantalla se lo debemos indicar como hemos hecho anteriormente, de lo contrario no nos aparecerá ningún elemento del array. Es decir si hiciéramos esto:
<?
$nombres=array(“Eva”, “Pilar”, “Pepe”);
echo $nombres.”<br>”;
?>
Nos aparecerá la siguiente pantalla:

Porque no le hemos indicado que nombre queremos que aparezca en pantalla.
Si quisiéramos introducir un nuevo elemento en el array lo haríamos de la forma siguiente:
$nombres=array(“Eva”, “Pilar”, “Pepe”);
$nombre[3]=”Celia”;

El array indexado numérciamente
$nombres=array(“Eva”, “Pilar”, “Pepe”);
Se puede escribir también de la siguiente forma:
$nombres[0]=”Eva”;
$nombres[1]=”Pilar”;
$nombres[2]=”Pepe”;

Si quisiéramos cambiar el nombre de Pilar por Antonio se haría de la siguiente forma: $nombres[1]=”Antonio”;
Por lo que el array de Pilar pasaría a ser Antonio.
Vamos a ver un ejemplo para tenerlo más claro:
<?
$nombres[0]="Eva";
$nombres[1]="Pilar";
$nombres[2]="Pepe";
for($i=0; $i<2; $i++) //El limite es 2 porque hay hasta 2 elementos en el array
echo "$nombres[$i]<br>";
?>
Si probamos el programa nos saldrá en pantalla
Eva
Pilar
Pepe

ARRAY ASOCIATIVO
$edad= array(“Eva”=>20, “Pilar”=>31, “Pepe”=>25);
A diferencia del array indexado numéricamente los elementos que componen el array asociatvo no van indexados numéricamente, sino que van indexados por su nombre. Es decir Eva no tendrá el valor 0, sino que nos referiremos a este elemento por su nombre, por Eva.
Lo vemos con un ejemplo:
<?
$edad= array(“Eva”=>20, “Pilar”=>31, “Pepe”=>25);
echo “$edad[Eva]”;
?>
Y nos aparece la siguiente pantalla:
 Nos imprime la edad de Eva. 

Vamos a ver un ejemplo de un array asociativo:
<?
$edad= array("Eva"=>20, "Pilar"=>31, "Pepe"=>25);
while($personas=each($edad))
{
echo $personas["key"];
echo " tiene ";
echo $personas["value"];
echo " años";
echo "<br>";
}
?>
Y nos imprimirá la siguiente pantalla:

Si observamos el código tenemos la función each. Each lo que hace es recorrer el array empezando por el primer elemento y convirtiendo el siguiente en el elemento actual.

Bueno creo que por hoy voy a dar como finalizado el tema de los arrays, en la próxima entrada seguiré hablando de los arrays, haré una segunda parte. Mientras tanto ya podéis practicar haciendo vuestros propios scripts con arrays de lo que hemos visto de momento. Si queréis me lo podeís enviar y lo publicaré en el blog. Me gustaría que participáramos un poco todos, que enviaráis ideas, sugerencias, prácticas, ejercicios, etc.De momento me despido, hasta pronto!


No hay comentarios:

Publicar un comentario