Autor Tema: PHP Cómo crear arrays (arreglos) multidimensionales matrices ejercicio CU00824B  (Leído 2872 veces)

Dimitar Stefanov

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

Citar
EJERCICIO

Crea el código PHP de 3 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 filas que representarán al Nivel básico, medio y de perfeccionamiento y 4 columnas en las que figurarán los idiomas (0 = Inglés, 1 = Francés, 2 = Alemán y 3 = Ruso). Se pide realizar la declaración de la matriz y asignarle los valores indicados en la siguiente imagen a cada elemento de las siguientes maneras (crea un archivo php por cada una de estas maneras):



Citar
a) Con una sintaxis basada exclusivamente en índices, y mostrar por pantalla los alumnos que existen en cada nivel e idioma.

Código: [Seleccionar]
<?php
$idiomas = ["inglés""francés""alemán""ruso"];
$alumnos["básico"][0] = 1;
$alumnos["básico"][1] = 14;
$alumnos["básico"][2] = 8;
$alumnos["básico"][3] = 3;
$alumnos["medio"][0] = 6;
$alumnos["medio"][1] = 19;
$alumnos["medio"][2] = 7;
$alumnos["medio"][3] = 2;
$alumnos["perfeccionamiento"][0] = 3;
$alumnos["perfeccionamiento"][1] = 13;
$alumnos["perfeccionamiento"][2] = 4;
$alumnos["perfeccionamiento"][3] = 1;

for($i 0$i 4$i++){
echo "En el curso de ".$idiomas[$i]." en el nivel básico hay: ".$alumnos["básico"][$i]." alumnos <br>";
echo "En el curso de ".$idiomas[$i]." en el nivel medio hay: ".$alumnos["medio"][$i]." alumnos <br>";
echo "En el curso de ".$idiomas[$i]." en el nivel perfeccionamiento hay: ".$alumnos["perfeccionamiento"][$i]." alumnos <br><br><br>";
}
?>

Citar
b) Con una sintaxis basada en el uso anidado de la palabra array, y mostrar por pantalla los alumnos que existen en cada nivel e idioma.

Código: [Seleccionar]
<?php 
$idiomas = ["inglés""francés""alemán""ruso"];
$alumnos = array(
array(11483),
array(61972),
array(31341),
);

for($i 0$i 4$i++){
echo "En el curso de ".$idiomas[$i]." en el nivel básico hay: ".$alumnos[0][$i]." alumnos <br>";
echo "En el curso de ".$idiomas[$i]." en el nivel medio hay: ".$alumnos[1][$i]." alumnos <br>";
echo "En el curso de ".$idiomas[$i]." en el nivel perfeccionamiento hay: ".$alumnos[2][$i]." alumnos <br><br><br>";
};
?>

En este código no se como darles índice a los arrays que están dentro del array. Quería poner algo como:

Código: [Seleccionar]
<?php 
$idiomas = ["inglés""francés""alemán""ruso"];
$alumnos = array(
"básico"(11483),
"medio"(61972),
"perfeccionamiento"(31341),
);

for($i 0$i 4$i++){
echo "En el curso de ".$idiomas[$i]." en el nivel básico hay: ".$alumnos["básico"][$i]." alumnos <br>";
echo "En el curso de ".$idiomas[$i]." en el nivel medio hay: ".$alumnos["medio"][$i]." alumnos <br>";
echo "En el curso de ".$idiomas[$i]." en el nivel perfeccionamiento hay: ".$alumnos["perfeccionamiento"][$i]." alumnos <br><br><br>";
};
?>

pero no funciona. El array no acepta algo como un "nombre".

Citar
c) Con una sintaxis que combine el uso de array y el uso de índices, y mostrar por pantalla los alumnos que existen en cada nivel e idioma.

Código: [Seleccionar]
<?php 
$idiomas = ["inglés""francés""alemán""ruso"];
$alumnos["básico"] = array(11483);
$alumnos["medio"] = array(61972);
$alumnos["perfeccionamiento"] = array(31341);

for($i 0$i 4$i++){
echo "En el curso de ".$idiomas[$i]." en el nivel básico hay: ".$alumnos["básico"][$i]." alumnos <br>";
echo "En el curso de ".$idiomas[$i]." en el nivel medio hay: ".$alumnos["medio"][$i]." alumnos <br>";
echo "En el curso de ".$idiomas[$i]." en el nivel perfeccionamiento hay: ".$alumnos["perfeccionamiento"][$i]." alumnos <br><br><br>";
}
?>

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

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:CU00824B Matrices, Array en PHP
« Respuesta #1 en: 06 de Mayo 2016, 12:32 »
Hola dimiste.

Veo todo correcto.

En cuanto a lo que comentas sobre el apartado b, sería de esta forma:

Código: [Seleccionar]
<?php 
$idiomas = ["inglés""francés""alemán""ruso"];
$alumnos = array("basico" => array(11483),
"medio" => array(61972),
"perfeccionamiento" => array(31341)
);
for($i 0$i 4$i++){
echo "En el curso de ".$idiomas[$i]." en el nivel básico hay: ".$alumnos["basico"][$i]." alumnos <br>";
echo "En el curso de ".$idiomas[$i]." en el nivel medio hay: ".$alumnos["medio"][$i]." alumnos <br>";
echo "En el curso de ".$idiomas[$i]." en el nivel perfeccionamiento hay: ".$alumnos["perfeccionamiento"][$i]." alumnos <br><br><br>";
};
?>

Es algo que podrás aprender en el siguiente tema del curso.

Saludos. ;D

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Re:CU00824B Declaración arrays multidimensionales en PHP
« Respuesta #2 en: 06 de Mayo 2016, 13:45 »
Hola, Pedro.

Tienes razón, en la siguiente entrega nos lo explicaban, aunque no exactamente de la forma de síntaxis que me has puesto tú. Y yo buscaba lo que me explicas tú. Con lo cual, me lo apunto en el cuaderno donde me apunto todo lo que no sé y a consultarlo cuando lo necesite.

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