Arrays asociativos en PHP (arreglos). Concepto y formas de declaración y uso. Ejercicios resueltos. (CU00825B)

Resumen: Entrega nº25 del Tutorial básico del programador web: PHP desde cero.
Codificación aprenderaprogramar.com: CU00825B 

 

 

ARRAYS ASOCIATIVOS EN PHP

Anteriormente hemos visto lo que son los arrays tradicionales en PHP y cómo operar con ellos de forma muy elemental. Hemos aprendido que los arrays pueden denominarse “variables con localizador” o “variables con índice”. Por tanto los elementos del array son datos que están asociados, a su vez, a un elemento del array llamado índice.

 

 

Supongamos el array nombre[0], nombre[1], nombre[2]. El nombre de variable para el array es “nombre” mientras que los índices son 0, 1 y 2.

El índice se caracteriza por conectar los elementos del array por medio de una numeración que empieza por cero. Así, el primer elemento del array tiene índice cero, el segundo tiene índice uno, y así sucesivamente.

Pero en realidad, resulta que este índice es numérico solo por defecto; es decir, tenemos la posibilidad de crear nuestro propio índice dentro de un array. Cuando hacemos esto, estamos convirtiendo el array en lo que se denomina un array asociativo.

Escribe ahora este código y guárdalo con un nombre de archivo como ejemplo1.php. A continuación, sube el fichero al servidor y visualiza el resultado.

<?php //Ejemplo arrays aprenderaprogramar.com

$colores_vehiculos = array(

'coche' => 'Rojo',

'moto' => 'verde',

'avion' => 'amarillo'

);

echo $colores_vehiculos['moto'];

?>

 

 

 

Si te fijas en el código, hemos asignado a la variable $colores_vehiculos un array asociativo. Al ser asociativo tenemos que especificar un índice. Los índices que hemos especificado son: coche, moto y avion. Es decir, en vez de usar 0, 1 y 2 hemos usado coche, moto y avión.

Para declarar arrays asociativos, en el paréntesis de definición del array, tenemos que asociar el índice con el valor por medio del operador =>. Fíjate que el índice debe ir escrito entre comillas simples. Después, para acceder a un elemento del array asociativo tenemos que escribir la variable asignada al array, y posteriormente escribir entre corchetes el índice que hemos asignado a dicho elemento.

Tenemos la posibilidad de utilizar cualquier tipo de dato para especificar un índice. Por defecto es un número, pero también podemos poner cadenas de texto, como en el ejemplo anterior e incluso variables. Escribe este código y comprueba el resultado en tu servidor.

<?php //Ejemplo arrays aprenderaprogramar.com

$indice = 'coche';

$colores_vehiculos = array(

$indice => 'Rojo',

'moto' => 'verde',

'avion' => 'amarillo'

);

echo $colores_vehiculos[$indice];

?>

 

 

 

Como ves en este ejemplo hemos usado una variable tipo cadena de texto como índice de un array.

Finalmente, los arrays asociativos también pueden usarse en la forma de declaración habitual escribiendo $nombreVariable [indice] = valor. Escribe este ejemplo de código, guárdalo con un nombre de archivo y súbelo al servidor.

<?php //Ejemplo arrays aprenderaprogramar.com

$colores_vehiculos ['coche'] = 'Rojo';

$colores_vehiculos ['moto'] = 'verde';

$colores_vehiculos ['avion'] = 'amarillo';

echo $colores_vehiculos['moto'];

?>

 

 

Comprobarás que en la pantalla del navegador se muestra el texto “verde”.

 

 

EJERCICIO

Crea el código PHP de dos archivos que den respuesta al siguiente planteamiento:

Queremos almacenar en una matriz el número de alumnos con el que cuenta una academia, ordenados en función del nivel y del idioma que se estudia. Tendremos 3 niveles: Nivel básico, medio y de perfeccionamiento, que se corresponden con las filas de la matriz, y 4 idiomas (Inglés, Francés, Alemán y Ruso), que se corresponden con las columnas de la matriz. Se pide realizar la declaración de la matriz y asignarle los valores indicados en la siguiente imagen cumpliendo con:

 

 

a) Con una sintaxis ejemplo de uso de arrays asociativos donde el primer índice del array (niveles) es un número y el segundo un texto indicativo del idioma. Se debe mostrar por pantalla los alumnos que existen en cada nivel e idioma. Ejemplo: numeroAlumnos[0]['frances'] representará el número de alumnos que existen en el nivel básico, idioma francés.

b) Con una sintaxis ejemplo de uso de arrays asociativos donde tanto el primer índice del array (niveles) como el segundo (idiomas) sea un texto indicativo. Se debe mostrar por pantalla los alumnos que existen en cada nivel e idioma. Ejemplo: numeroAlumnos['basico']['frances'] representará el número de alumnos que existen en el nivel básico, idioma francés.

 

Nota: en ambos casos debe mostrarse por pantalla que el número de alumnos en el nivel básico, idioma inglés, hay 1 alumno; en el nivel básico, idioma francés, hay 14 alumnos, etc.

Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

MAYO - JUNIO 2017

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. .NET, C#
5. JavaScript, jQuery
6. HTML, CSS
7. Php, MySql
8. Android, iOS


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación