PHP: imprescindible para crear páginas web de modo profesional
Y ahora tambien aprende a programar en C++ con Aprende Web C++
y entérate de las novedades o deja un comentario.
última modificación: 13-07-2018.
Visitas este mes: 106
Visitas el mes pasado: 270
Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de este manual.:
Por elegir aprende-web
Aprende-web está diseñado a partir de los lenguajes que aquí mismo se enseñan.
By Anyelguti
En un array asociativo cada elemento del array se compone de un valor y una clave. Es decir, si los comparamos con los arrays indexados, el valor será el elemento en sí, mientras que la clave será el índice con el que llamamos al elemento.
Es decir en un array indexado escribimos el valor del elemento, y para leerlo debémos escribir la variable -nombre- del array, y su índice entre corchetes: $miarray[0]. mientras que en un array asociativo al definir cada elemento, lo asociamos a una clave, de manera que para leer el elemento debemos dar el nombre de la clave: $miarray["clave"].
Para definir una array asociativo debemos definir para cada elemento tanto su valor como su clave. Para ello utilizaremos el siguiente código:
$miarray=array("clave1"=>"valor1","clave2"=>"valor2", ... ,"claveN"=>"valorN");
Es decir para crear el array definimos cada elememento, el cual se compone de dos partes, una la clave, y otra el valor, escribimos el elemento de la siguiente manera "clave"=>"valor".
Veamos un ejemplo de aray asociativo.
$cap=array("España"=>"Madrid", "Francia"=>"París", "Inglaterra"=>"Londres", "Italia"=>"Roma", "Portugal"=>"Lisboa", "Alemania"=>"Berlín");
En este array los datos o valores guardados son algunas capitales europeas, mientras que la clave para acceder a ellas son los paises a los que pertenecen.
Para acceder o poder leer un elemento de un array asociativo, debemos saber su clave, la cual la escribiremos entre corchetes después de la variable que lo contiene:
echo $cap[Francia];
El código anterior, continuando con el ejemplo, nos mostrará en pantalla el valor del elemento , es decir "París".
Observa que la clave la hemos escrito sin comillas dentro del corchete. En este caso es indiferente escribir las comillas o no, sin embargo si la variable la escribimos dentro de una frase entrecomillada, la pondremos sin comillas. Es decir podemos escribir:
echo "La capital de Italia es $cap[Italia].";
O tambien;
echo "La capital de Italia es ".$cap["Italia"].".";
En ambos casos el resultado es el mismo:
La capital de Italia es Roma.Sin embargo no siempre conocemos la clave del elemento, o simplemente queremos ver qué elementos contiene el array, y cuáles son sus claves.
La funcion each() crea una variable que nos indica el nombre y el valor de los elementos. Esta variable es a su vez otro array que contiene la clave y el valor del elemento.
En principio obtendremos la clave y el valor del primer elemento, pero la función tiene también un puntero interno, que cada vez que se usa avanza una posición; de modo que si la volvemos a utilizar de nuevo nos dará la clave y el valor del siguiente elemento.
Veámoslo con el ejemplo anterior de las capitales europeas. En principio llamamos a la función each($miarray), y la guardamos en una variable:
$verCap=each($cap);
Ahora la variable $verCap será un array que tendrá los siguientes elementos:
Podemos usar indistintamente el 0, o la palabra key para obtener la clave; así como usar el 1 o la palabra value para obtener el valor.
En principio el puntero interno del array apunta, si este no se ha usado antes, al primer elemento, por lo que para mostrar el primer elemento usaremos el siguiente código:
echo "Clave: $verCap[key] -- Valor: $verCap[value]";
Lo cual nos mostrará en pantalla lo siguiente:
Clave: España -- Valor: MadridAhora el puntero ha avanzado una posición por lo que si volvemos a escribir de nuevo el código anterior obtendremos el valor del segundo elemento:
$verCap=each($cap);
echo "Clave: $verCap[key] -- Valor: $verCap[value]";
Debemos repetir tanto la función each($array) como el código que muestra en pantalla el resultado, (instrucción echo) para mostrar el siguiente elemento.
Si volvemos a repetir el código, obtendremos con cada repetición el siguiente elemento, repitiéndolo 4 veces más veremos el resto de los elementos:
Clave: Inglaterra -- Valor: LondresLa función each puede aplicarse también con arrays indexados. En este caso la clave nos dará el índice del elemento.
Tenemos ahora el problema de controlar el puntero interno del array, ya que éste, con la función each() avanza una posición y al llegar al final no vuelve al principio. Además a veces queremos mostrar los elementos en otro orden o asegurarnos de que el puntero esté en una posición determinada.
Para ello existen una serie de funciones que nos colocan el puntero en una posición concreta. Estas son:
Al aplicar estas funciones no debemos volver a definir la función each() pues el puntero ya ha cambiado de posición. basta con volver a imprimir en pantalla el valor para que el elemento se muestre en la nueva posición.
En la siguiente página de ejemplo se muestran las diferentes funciones vistas hasta ahora para manejar los arrays: para verla pulsa en el siguiente enlace:
Para ver el código con el que se ha hecho la página anterior, inclluido el php, pulsa el siguiente enlace:
Código de "Funciones para arrays".
En la siguiente página veremos algunas maneras de trabajar con arrays.
Sugerencias:
aprendeweb@aprende-web.net. Envia un
Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog
Más sobre anyelguti en http://anyelguti.16mb.com