Buenas tardes. Dejo una posible solución de los ejercicios de la entrega CU00826B del curso PHP desde cero.
EJERCICIO 1
Crea un array con nombre paisLimitrofe donde los elementos del array serán cadenas de texto con los países limítrofes (con frontera) con el tuyo. Por ejemplo si vivimos en Perú tenemos como países limítrofes Ecuador, Colombia, Brasil, Bolivia y Chile.
a) Utilizando un bucle for, muestra por pantalla los países limítrofes.
b) Utilizando un bucle for each, muestra por pantalla los países limítrofes.
<?php $paisLimitrofe = array("Portugal", "Andorra", "Francia"); echo "Los países limítrofes son: "; for($i = 0; $i < count($paisLimitrofe); $i++){ echo $paisLimitrofe[$i].", "; } echo "<br><br><br>Los países limítrofes son: "; foreach($paisLimitrofe as $pais){ echo $pais.", "; }?>
EJERCICIO 2
Escribe y ejecuta el siguiente código y responde a las siguientes preguntas:
$equipo = array(portero=>'Casillas', defensa=>'Hierro', medio=>'Ces', delantero=>'Ronaldo');
foreach($equipo as $posicion=>$jugador) {
echo "El " . $posicion . " es " . $jugador;
}
a) ¿$equipo es una variable normal, un array tradicional ó un array asociativo?
Es un array asociativo.
b) ¿portero es un índice de un array, un contenido de un elemento de un array o un contenido de una variable simple?
Es un índice asociativo de un array.
c) ¿Al ejecutar el código obtienes un resultado por pantalla u obtienes un error? ¿Qué es lo que hace el código?
El error que se obtiene es el siguiente: " Use of undefined constant portero - assumed 'portero'". Aquí, lo que hace el intérprete es como "portero" no está definido como una variable, ni tampoco como una cadena de texto, lo asume, automáticamente, como una cadena de texto.
EJERCICIO 3
Supón que quieres representar lo siguiente: hay 2 equipos españoles, en el primero el portero es Frank, el defensa Pepe, el medio Luis y el delantero Raul. En el segundo, el portero es Tiger, el defensa Mourin, el medio Katz y el delantero Alberto. Hay 1 equipo mexicano, donde el portero es Suarez, el defensa Koltz, el medio Fernandez y el delantero Ramirez. Hay 2 equipos argentinos. En el primero el portero es Higuita, el defensa Mel, el medio Rubens y el delantero Messi. En el segundo el portero es Kostenmeiner, el defensa Lenkins, el medio Marash y el delantero Juanes.
a) Representa los datos usando un array de tres dimensiones con índices numéricos donde el primer índice indica el país, el segundo el equipo y el tercero la posición del jugador. Presenta la información del país, equipo, posiciones y jugadores de cada equipo usando un bucle for.
<?php $equipo[0][0][0] = "Fran"; $equipo[0][0][1] = "Pepe"; $equipo[0][0][2] = "Luis"; $equipo[0][0][3] = "Raul"; $equipo[0][1][0] = "Tiger"; $equipo[0][1][1] = "Mourin"; $equipo[0][1][2] = "Katz"; $equipo[0][1][3] = "Alberto"; $equipo[1][0][0] = "Suarez"; $equipo[1][0][1] = "Koltz"; $equipo[1][0][2] = "Fernadez"; $equipo[1][0][3] = "Ramirez"; $equipo[2][0][0] = "Higuita"; $equipo[2][0][1] = "Mel"; $equipo[2][0][2] = "Rubens"; $equipo[2][0][3] = "Messi"; $equipo[2][1][0] = "Kostenmeiner"; $equipo[2][1][1] = "Lenkins"; $equipo[2][1][2] = "Marash"; $equipo[2][1][3] = "Juanes"; for($i = 0; $i < count($equipo); $i++){ echo "<br>En el país: ".($i+1).", "; for($j = 0; $j < count($equipo[$i]); $j++){ echo "en el equipo: ".($j+1).", <br>"; for($k = 0; $k < count($equipo[$i][$j]); $k++){ echo "en la posición: ".($k+1)." juega: ".$equipo[$i][$j][$k]."<br>"; } } }?>
b) Representa los datos usando un array de tres dimensiones con índices numéricos donde el primer índice indica el país, el segundo el equipo y el tercero la posición del jugador. Presenta la información del país, equipo, posiciones y jugadores de cada equipo usando un bucle for each.
<?php $equipo[0][0][0] = "Fran"; $equipo[0][0][1] = "Pepe"; $equipo[0][0][2] = "Luis"; $equipo[0][0][3] = "Raul"; $equipo[0][1][0] = "Tiger"; $equipo[0][1][1] = "Mourin"; $equipo[0][1][2] = "Katz"; $equipo[0][1][3] = "Alberto"; $equipo[1][0][0] = "Suarez"; $equipo[1][0][1] = "Koltz"; $equipo[1][0][2] = "Fernadez"; $equipo[1][0][3] = "Ramirez"; $equipo[2][0][0] = "Higuita"; $equipo[2][0][1] = "Mel"; $equipo[2][0][2] = "Rubens"; $equipo[2][0][3] = "Messi"; $equipo[2][1][0] = "Kostenmeiner"; $equipo[2][1][1] = "Lenkins"; $equipo[2][1][2] = "Marash"; $equipo[2][1][3] = "Juanes"; $i = 0; $j = 0; $k = 0; foreach($equipo as $pais => $team){ echo "<br>En el país: ".($pais+1).", "; foreach($equipo[$pais] as $team => $posicion){ echo "en el equipo: ".($team+1).", <br>"; foreach($equipo[$pais][$team] as $posicion => $jugador){ echo "en la posición: ".($posicion+1)." juega: ".$jugador."<br>"; }; }; }?>
c) Representa los datos usando arrays arrays asociativos donde el primer índice indica el país, el segundo el equipo y el tercero la posición del jugador (un ejemplo de cómo declarar un elemento sería por ejemplo: $equipos['Mexico']['Equipo1']['defensa']="koltz";). A continuación usando un bucle foreach recorre los elementos del array mostrando la información del país, equipo, posiciones y jugadores de cada equipo.
<?php $equipo["España"]["Equipo1"]["portero"] = "Fran"; $equipo["España"]["Equipo1"]["defensa"] = "Pepe"; $equipo["España"]["Equipo1"]["medio"] = "Luis"; $equipo["España"]["Equipo1"]["delantero"] = "Raul"; $equipo["España"]["Equipo2"]["portero"] = "Tiger"; $equipo["España"]["Equipo2"]["defensa"] = "Mourin"; $equipo["España"]["Equipo2"]["medio"] = "Katz"; $equipo["España"]["Equipo2"]["delantero"] = "Alberto"; $equipo["México"]["Equipo1"]["portero"] = "Suarez"; $equipo["México"]["Equipo1"]["defensa"] = "Koltz"; $equipo["México"]["Equipo1"]["medio"] = "Fernandez"; $equipo["México"]["Equipo1"]["delantero"] = "Ramirez"; $equipo["Argentina"]["Equipo1"]["portero"] = "Higuita"; $equipo["Argentina"]["Equipo1"]["defensa"] = "Mel"; $equipo["Argentina"]["Equipo1"]["medio"] = "Rubens"; $equipo["Argentina"]["Equipo1"]["delantero"] = "Messi"; $equipo["Argentina"]["Equipo2"]["portero"] = "Kostenmeiner"; $equipo["Argentina"]["Equipo2"]["defensa"] = "Lenkins"; $equipo["Argentina"]["Equipo2"]["medio"] = "Marash"; $equipo["Argentina"]["Equipo2"]["delantero"] = "Juanes"; foreach($equipo as $pais => $team){ echo "En ".$pais; foreach($equipo[$pais] as $team => $posicion){ echo " en el: ".$team." equipo juega como: <br>"; foreach($equipo[$pais][$team] as $posicion => $juador){ echo $posicion." - ".$juador.", <br>"; } echo "<br>"; } echo "<br><br>"; }?>
Gracias