Buenas noches, aquí dejo una posible solución del ejercicio CU00824B del curso PHP desde cero.
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):
a) Con una sintaxis basada exclusivamente en índices, y mostrar por pantalla los alumnos que existen en cada nivel e idioma.
<?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>";
}
?>
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.
<?php
$idiomas = ["inglés", "francés", "alemán", "ruso"];
$alumnos = array(
array(1, 14, 8, 3),
array(6, 19, 7, 2),
array(3, 13, 4, 1),
);
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:
<?php
$idiomas = ["inglés", "francés", "alemán", "ruso"];
$alumnos = array(
"básico"(1, 14, 8, 3),
"medio"(6, 19, 7, 2),
"perfeccionamiento"(3, 13, 4, 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>";
};
?>
pero no funciona. El array no acepta algo como un "nombre".
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.
<?php
$idiomas = ["inglés", "francés", "alemán", "ruso"];
$alumnos["básico"] = array(1, 14, 8, 3);
$alumnos["medio"] = array(6, 19, 7, 2);
$alumnos["perfeccionamiento"] = array(3, 13, 4, 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>";
}
?>
Gracias.