Descargar

Desarrollo de aplicaciones Web. Tablas o arrays (página 2)

Enviado por Pablo Cesar Ttito C


Partes: 1, 2

A partir de ahora podemos recuperar cualquier valor específico refiriéndonos a su índice.

Por ejemplo para presentar el nombre de la segunda ciudad podríamos escribir simplemente

Como haríamos con cualquier otra variable.

ARRAYS DINÁMICAMENTE

  • También podemos crear arrays dinámicamente, sencillamente agregando nuevos valores.

Ejemplo 1

AGREGÁNDOSE EL VALOR AL ARRAY.

  • Naturalmente por este mismo sistema también podemos modificar el valor de un array dado, e incluso añadir valores sin asignar índice, que será agregado automáticamente por php:

  • De tal forma que podemos acceder a este valor utilizando $mis_ciudades[4]

Ejemplo 2

  • Array llamado sentido que contiene los distintos sentidos del ser humano:

$sentido[1]="ver";$sentido[2]="tocar";$sentido[3]="oír";$sentido[4]="gustar";$sentido[5]="oler";

Explicación

  • En este caso este array cataloga sus elementos, comúnmente llamados valores, por números.

  • Los números del 1 al 5 son por lo tanto las claves y los sentidos son los valores asociados.

Ejemplo 2

  • Nada nos impide emplear nombres (cadenas) para clasificarlos. Lo único que deberemos hacer es colocarlo entrecomillarlos:

Funciones de array

  • Lo que es interesante es que la utilidad de los arrays no acaba aquí, sino que también podemos utilizar toda una serie de funciones creadas para ordenarlos por orden alfabético directo o inverso, por claves, contar el numero de elementos que componen el array además de poder movernos por dentro de él hacia delante o atrás.

  • Muchas son las propuestas por PHP para el tratamiento de arrays, no vamos a entrar aquí en una descripción de las mismas.

  • Sólo incluiremos esta pequeña tabla que puede ser complementada.

Función

Descripción

array_values (mi_array)

Lista los valores contenidos en mi_array

asort(mi_array) y arsort(mi_array)

Ordena por orden alfabético directo o inverso en función de los valores

count(mi_array)

Nos da el numero de elementos de nuestro array

ksort(mi_array) y krsort(mi_array)

Ordena por orden alfabético directo o inverso en función de las claves

list ($variable1, $variable2…)=mi_array

Asigna cada una variable a cada uno de los valores del array

next(mi_array), prev(mi_array), reset(mi_array) y end(mi_array)

Nos permiten movernos por dentro del array con un puntero hacia delante, atras y al principio y al final.

each(mi_array)

Nos da el valor y la clave del elemento en el que nos encontramos y mueve al puntero al siguiente elemento.

Recomendación

  • De gran utilidad es también el bucle foreach que recorre de forma secuencial el array de principio a fin.

Vemos algunas de las funciones típicas del trabajo con arrays a través de una pequeña explicación y un ejemplo de uso.

Vamos a ver varios ejemplos de trabajo con arrays (arreglos, vectores, matrices o tablas en castellano) en PHP que ilustrarán un poco el funcionamiento de algunas de las funciones de arrays más populares que trae consigo PHP. Sin más, vamos a introducirnos en materia con varios ejemplos interesantes de manejo de vectores.

Modificar el número de elementos de un array Ahora vamos a ver varios ejemplos mediante los cuales nuestros arrays pueden aumentar o reducir el número de casillas disponibles. Reducir el tamaño de un array

array_slice()

  • Para disminuir el número de casillas de un arreglo tenemos varias funciones.

  • Entre ellas, array_slice() la utilizamos cuando queremos recortar algunas casillas del arreglo, sabiendo los índices de las casillas que deseamos conservar.

  • Recibe tres parámetros.

  • El array, el índice del primer elemento y el número de elementos a tomar, siendo este último parámetro opcional.

  • En el ejemplo siguiente tenemos un array con cuatro nombres propios.

  • En la primera ejecución de array_slice() estamos indicando que deseamos tomar todos los elementos desde el índice 0 (el principio) hasta un número total de 3 elementos.

  • El segundo array_slice() indica que se tomen todos los elementos a partir del índice 1 (segunda casilla).

Ejemplo 1

Resultados

  • Tendrá como salida:

  • Miguel

  • Pepe

  • Juan

  • Pepe

  • Juan

array_shift()

  • Esta función extrae el primer elemento del array y lo devuelve.

  • Además, acorta la longitud del array eliminando el elemento que estaba en la primera casilla.

  • Siempre hace lo mismo, por tanto, no recibirá más que el array al que se desea eliminar la primera posición.

  • En el código siguiente se tiene el mismo vector con nombres propios y se ejecuta dos veces la función array_shift() eliminando un elemento en cada ocasión.

  • Se imprimen los valores que devuelve la función y los elementos del array resultante de eliminar la primera casilla.

Ejemplo 1

Resultados

Da como resultado: La función devuelve: Miguel Pepe Juan Julio Pablo La función devuelve: Pepe Juan Julio Pablo unset()

  • Se utiliza para destruir una variable dada. En el caso de los arreglos, se puede utilizar para eliminar una casilla de un array asociativo (los que no tienen índices numéricos sino que su índice es una cadena de caracteres).

  • Veamos el siguiente código para conocer cómo definir un array asociativo y eliminar luego una de sus casillas.

Ejemplo 1

Resultado

La salida será la siguiente: Barcelona — Nou Camp Real Madrid — Santiago Bernabeu Valencia — Mestalla Real Sociedad — Anoeta Barcelona — Nou Camp Valencia — Mestalla Real Sociedad — Anoeta Aumentar el tamaño de un array

  • Tenemos también a nuestra disposición varias funciones que nos pueden ayudar a aumentar el número de casillas de un arreglo.

array_push()

  • Inserta al final del array una serie de casillas que se le indiquen por parámetro.

  • Por tanto, el número de casillas del array aumentará en tantos elementos como se hayan indicado en el parámetro de la función. Devuelve el número de casillas del array resultante.

  • Veamos este código donde se crea un arreglo y se añaden luego tres nuevos valores.

Ejemplo 1

Resultado

Da como resultado esta salida: Lagartija Araña Perro Gato Ratón Gorrión Paloma Oso

array_merge()

  • Ahora vamos a ver cómo unir dos arrays utilizando la función array_merge(). A ésta se le pasan dos o más arrays por parámetro y devuelve un arreglo con todos los campos de los vectores pasados.

  • En este código de ejemplo creamos tres arrays y luego los unimos con la función array_merge()

Ejemplo 1

Resultado

Da como resultado: Lagartija Araña Perro Gato Ratón 12 34 45 52 12 Sauce Pino Naranjo Chopo Perro 34

Una última cosa. También pueden introducirse nuevas casillas en un arreglo por los métodos habituales de asignar las nuevas posiciones en el array a las casillas que necesitemos.

En arrays normales se haría así: $tabla = array ("Sauce","Pino","Naranjo"); $tabla[3]="Algarrobo";

En arrays asociativos: $estadios_futbol = array("Valencia" => "Mestalla","Real Sociedad" => "Anoeta"); $estadios_futbol["Barcelona"]= "Nou Camp";

Ejercicios de arrays

En PHP un array de valores se puede crear explícitamente definiendo los elementos, o su creación puede hacerse introduciendo valores en el array.

Por ejemplo:

$a = ("abc", "def", "ghi");

crea el array definiendo explícitamente los elementos del array, al contrario de lo que ocurre en el ejemplo siguiente:

$a[0] = "abc";

$a[1] = "def";

$a[2] = "ghi";

En este caso, el array se crea con tres elementos. Recordemos que el primer elemento de un array se identifica con el número "0". Si, por ejemplo, la longitud de una array es "5", éste incluye seis elementos.

El elemento que tiene el índice "0" es el primero del array. Si, en cambio, para añadir elementos a un array (supongamos que nos referimos al que hemos creado arriba) se utilizan los corchetes vacíos y los datos se ajustan al array.

Por ejemplo:

$a[] = "lmn";

$a[] = "opq";

En este caso caso, el array se alarga 2 elementos y resulta ser:

$a[0] = "abc";

$a[1] = "def";

$a[2] = "ghi";

$a[3] = "lmn";

$a[4] = "opq";

Este ejemplo es mucho más útil cuando queremos ajustar los elementos al array sin acudir a funciones específicas y sin tener que leer el número de los elementos que están en el array. Todo se ajustará automáticamente y correctamente.Los array asociativos se basan, en cambio, en parejas "name-value" y un ejemplo podría ser:

$a = array(

"nombre" => "Mario",

"apellido" => "Rossi",

"email" => "mario[arroba]rossi.com",

);

Es interesante la posibilidad que tiene la función array de introducir las entries, como en el ejemplo que sigue:

$a = array("primero" => array(

"nombre" => "Mario",

"apellido" => "Rossi",

"email" => "mario[arroba]rossi.com",

),

"segundo" => array(

"nombre" => "Marco",

"apellido" => "Verdi",

"email" => "mario[arroba]verdi.com",

)

);

Ejecutar en este array una instrucción del tipo:

<? echo $a["segundo"]["email"]; ?>

visualizará "mario[arroba]verdi.com".

APLICACIÓN DEL ALUMNO

INDICACIONES

  • Crear grupos de trabajos de 4 alumnos como máximo

  • Resolver los problemas propuestos

PROBLEMAS PROPUESTOS

GRUPO DE TRABAJO A (15 Minutos)

  • 1. Calcular el promedio de 50 valores almacenados en un ARRAY. Determinar además cuantos son mayores que el promedio, imprimir el promedio, el numero de datos mayores que el promedio y una lista de valores mayores que el promedio.

GRUPO DE TRABAJO B (15 Minutos)

  • 2. Llenar dos ARRAYS A y B de 45 elementos cada uno, sumar el elemento uno del vector A con el elemento uno del vector B y así sucesivamente hasta 45, almacenar el resultado en un vector C, e imprimir el ARRAY resultante.

GRUPO DE TRABAJO C (15 Minutos)

  • 3. Llenar un ARRAY de 20 elementos, imprimir la posición y el valor del elemento mayor almacenado en el vector. Suponga que todos los elementos del vector son diferentes.

GRUPO DE TRABAJO D (15 Minutos)

  • 4. Almacenar 500 números en un vector, elevar al cuadrado cada valor almacenado en el ARRAY, almacenar el resultado en otro vector. Imprimir el vector original y el vector resultante.

 

 

 

Ing. Pablo Cesar Ttito C.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente