Autor Tema: Arrays (arreglos) asociativos en PHP indice texto en lugar de número CU00825B  (Leído 2818 veces)

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Buenas tardes, aquí dejo una posible solución del ejercicio CU00825B del curso PHP desde cero.

Citar
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:




Citar
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.

Código: [Seleccionar]
<?php 
$numeroAlumnos = array(
array(
"inglés" => 1,
"francés" => 14,
"alemán" => 8,
"ruso" => 3,
),
array(
"inglés" => 6,
"francés" => 19,
"alemán" => 7,
"ruso" => 2,
),
array(
"inglés" => 3,
"francés" => 13,
"alemán" => 4,
"ruso" => 1,
),
);
echo "En el nivel básico de inglés hay: ".$numeroAlumnos[0]["inglés"]." alumnos. <br>";
echo "En el nivel básico de francés hay: ".$numeroAlumnos[0]["francés"]." alumnos. <br>";
echo "En el nivel básico de alemán hay: ".$numeroAlumnos[0]["alemán"]." alumnos. <br>";
echo "En el nivel básico de ruso hay: ".$numeroAlumnos[0]["ruso"]." alumnos. <br><br><br>";
echo "En el nivel medio de inglés hay: ".$numeroAlumnos[1]["inglés"]." alumnos. <br>";
echo "En el nivel medio de francés hay: ".$numeroAlumnos[1]["francés"]." alumnos. <br>";
echo "En el nivel medio de alemán hay: ".$numeroAlumnos[1]["alemán"]." alumnos. <br>";
echo "En el nivel medio de ruso hay: ".$numeroAlumnos[1]["ruso"]." alumnos. <br><br><br>";
echo "En el nivel perfeccionamiento de inglés hay: ".$numeroAlumnos[2]["inglés"]." alumnos. <br>";
echo "En el nivel perfeccionamiento de francés hay: ".$numeroAlumnos[2]["francés"]." alumnos. <br>";
echo "En el nivel perfeccionamiento de alemán hay: ".$numeroAlumnos[2]["alemán"]." alumnos. <br>";
echo "En el nivel perfeccionamiento de ruso hay: ".$numeroAlumnos[2]["ruso"]." alumnos. <br><br><br>";
?>


<?php 
echo 
"<br><br><br>";
$numeroAlumnos["básico"] = array(
"inglés" => 1,
"francés" => 14,
"alemán" => 8,
"ruso" => 3,
);
$numeroAlumnos["medio"] = array(
"inglés" => 6,
"francés" => 19,
"alemán" => 7,
"ruso" => 2,
);
$numeroAlumnos["perfeccionamiento"] = array(
"inglés" => 3,
"francés" => 13,
"alemán" => 4,
"ruso" => 1,
);
echo "En el nivel básico de inglés hay: ".$numeroAlumnos["básico"]["inglés"]." alumnos. <br>";
echo "En el nivel básico de francés hay: ".$numeroAlumnos["básico"]["francés"]." alumnos. <br>";
echo "En el nivel básico de alemán hay: ".$numeroAlumnos["básico"]["alemán"]." alumnos. <br>";
echo "En el nivel básico de ruso hay: ".$numeroAlumnos["básico"]["ruso"]." alumnos. <br><br><br>";
echo "En el nivel medio de inglés hay: ".$numeroAlumnos["medio"]["inglés"]." alumnos. <br>";
echo "En el nivel medio de francés hay: ".$numeroAlumnos["medio"]["francés"]." alumnos. <br>";
echo "En el nivel medio de alemán hay: ".$numeroAlumnos["medio"]["alemán"]." alumnos. <br>";
echo "En el nivel medio de ruso hay: ".$numeroAlumnos["medio"]["ruso"]." alumnos. <br><br><br>";
echo "En el nivel perfeccionamiento de inglés hay: ".$numeroAlumnos["perfeccionamiento"]["inglés"]." alumnos. <br>";
echo "En el nivel perfeccionamiento de francés hay: ".$numeroAlumnos["perfeccionamiento"]["francés"]." alumnos. <br>";
echo "En el nivel perfeccionamiento de alemán hay: ".$numeroAlumnos["perfeccionamiento"]["alemán"]." alumnos. <br>";
echo "En el nivel perfeccionamiento de ruso hay: ".$numeroAlumnos["perfeccionamiento"]["ruso"]." alumnos. <br><br><br>";
?>

Comentar que es un poco incómodo trabajar con arrays asociativos porque no les podemos meter en un bucle tradiconal, por no llevar orden numérico, sino asociativo. Quizás en un bucle foreach.

Gracias.
« Última modificación: 11 de Mayo 2016, 08:34 por César Krall »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:CU00825B Arrays asociativos en PHP
« Respuesta #1 en: 07 de Mayo 2016, 19:23 »
Hola dimiste.

Los ejercicios están bien resueltos.

En cuanto a los bucles, no tengas prisas, mas adelante verás que se puede conseguir.

Saludos.

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Re:CU00825B Arrays asociativos en PHP
« Respuesta #2 en: 07 de Mayo 2016, 23:23 »
Buenas noches, Pedro.

Gracias por corregirme el ejercicio. A ver, a ver, q soy impaciente, jejeje :)

Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".