ArraysBueno, quiero empezar diciéndoles que en este capítulo de arrays, seré yo quien les trate de explicar un poquito sobre el tema en cuestión, pues 4kstore estuvo de vacaciones. Debo advertirles que, soy una persona que explica de una manera "pre-escolar", así que por favor no se sientan ofendidos si soy muy reiterativo o demasiado descriptivo, perdónenme
Ahora sí, entremos a la materia. Me gustaría empezar con dos escenarios donde uno de ellos usará arrays y el otro no; de esta forma podemos comparar un poco el potencial de los arrays. La idea de este artículo es que ustedes puedan:
* Crear una array (parte 1)
* Manipular un array (parte 1)
* Distinguir los tipos de arrays
* Reconocer con mayor facilidad los ambientes donde se pueda usar arrays
Dicho lo anterior, empecemos con un pequeño ejemplo. El código a continuación es común verlo entre personas que empiezan a programar:
// hace el texto a mayusculas de las variables dadas
hacerMayusculas();
function hacerMayusculas()
{
$persona0 = "Pedro";
$persona1 = "marta";
$persona2 = "Salomé";
// strtoupper es una función nativa de php que convierte texto en mayúscula, para mas información visitar:
// http://www.php.net/manual/es/function.strtoupper.php
echo "<br />persona0: " . strtoupper($persona0);
echo "<br />persona1: " . strtoupper($persona1);
echo "<br />persona2: " . strtoupper($persona2);
}
Si ejecutamos el ejemplo anterior, el resultado sería algo así:
persona0: PEDRO
persona1: MARTA
persona0: SALOMÉ
Todo hasta acá se ve normal, código bien hecho, sin errores, y la verdad es que contiene un formato correcto. Pero, ¿que pasaría si son
50 personas las que tenemos que cambiarle el nombre a mayúscula? ¿y si son cientos de nombres? Es entonces cuando un array empieza a jugar un rol importante.
¿Qué es un array? Con mis propias palabras puedo decir que es una tabla donde almacenas muchos valores, y la forma de accesar a cada uno de esos valores es por medio de un índice, o un identificar único. Estructuralmente un array se vería asi:
posicion 0 = "Pedro"
posicion 1 = "marta"
posicion 2 = "Salomé"
A la tabla anterior la llamaremos
tabla_de_personas, que en realidad está simulando la estructura de un array. Un array es una sola variable con muchos valores, por lo tanto, podemos acceder al nombre de
marta sabiendo que está en la "posición 1". Veamos:
$marta = tabla_de_personas[1];NOTA: Los lenguajes de programación, entre ellos php, usualmente sus numeros naturales para índices empieza en 0 y no 1.
No se alarmen con los paréntensis cuadrados, ya que es la forma correcta de acceder a un valor a través de un índice. Si notan, la posición
1 está siendo bastante explicita para identificar que queremos el valor en dicha posición. Y asi sucesivamente podemos obtener a
Pedro haciendo
tabla_de_personas[0]. Aprovechando estos datos, vamos a crear exactamente el mismo ejemplo anterior pero con el uso de los arrays:
// hace el texto a mayusculas de las variables dadas
hacerMayusculas();
function hacerMayusculas()
{
$personas[0] = "Pedro";
$personas[1] = "marta";
$personas[2] = "Salomé";
echo "<br />persona0: " . strtoupper($personas[0]);
echo "<br />persona1: " . strtoupper($personas[1]);
echo "<br />persona2: " . strtoupper($personas[2]);
}
¿Notan como solo estoy trabajando con una sola variable y cómo se juega con las posiciones? Ahora bien, podemos hacer una pausa aquí para destacar dos cosas importantes:
1. La asignación de un valor: la manera de cómo agregar un valor al array$personas[0] = "Pedro";
2. La extracción de un valor: la manera de cómo devolver un valor del array$persona = $personas[2]; // Salomé
Pero aún no hemos resuelto el problema de los "50 nombres", es decir, ¿cuál es la mejor manera de hacer el texto mayúscula de 50 nombres sin tenenr que pasar por el doloroso proceso de escribir 50 líneas adicionales? Bien, veamos:
// hace el texto a mayusculas de las variables dadas
hacerMayusculas();
function hacerMayusculas()
{
$personas[0] = "Pedro";
$personas[1] = "marta";
$personas[2] = "Salomé";
//aca las otras personas
// Recuerden que el primer elemento es "0", entonces no es necesario llegar al indice "50" porque implicaría tener 51 elementos
$personas[49] = "Carolina";
//empezar el indice en 0; mientras el indice sea menor o igual a 49; por cada iteración sumar +1 al indice
for ($indice = 0; $indice <= 49; $indice ++)
echo "<br />persona: " . $indice .": ". strtoupper($personas[$indice]); //notese como el indice cambia dinamicamente
}
Con ayuda de un
for estamos manipulando los valores de todo el array sin la necesidad de estar multiplicando código ni llevando diversas variables por toda nuestra aplicación.
Finalmente, quisé que los códigos de arriba les resultara lo mas sencillo posible, porque la segunda parte va a requerir bastante entendimiento de lo que acabamos de ver. Por favor, si tienen alguna duda o quieren que aportemos más apuntes a este artículo por favor háganlo saber con toda confianza.