Hola, dejo otro ejercicio de php.
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.
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?
b) ¿portero es un índice de un array, un contenido de un elemento de un array o un contenido de una variable simple?
c) ¿Al ejecutar el código obtienes un resultado por pantalla u obtienes un error? ¿Qué es lo que hace el código?
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.
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.
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.
Código para los tres ejercicios:
<!DOCTYPE html>
<html>
<head>
<title>Ejercicio. CU00826B</title>
<meta charset="utf-8">
</head>
<body>
<h1>Ejercicio 1</h1>
<?php $paisLimitrofe = ['Ecuador', 'Colombia', 'Brasil', 'Bolivia', 'Chile']; $msg = 'Los países limítrofes con Perú son: '; for($i = 0; $i < count($paisLimitrofe); $i++) { $msg = $msg . $paisLimitrofe[$i]; if($i < (count($paisLimitrofe)-2)){ $msg = $msg . ', '; } else if ($i == (count($paisLimitrofe)-2)){ $msg = $msg . ' y '; } else { $msg = $msg . '.'; } } echo ($msg); ?>
<hr>
<h1>Ejercicio 2</h1>
<?php $equipo = array(portero=>'Casillas', defensa=>'Hierro', medio=>'Ces', delantero=>'Ronaldo'); foreach($equipo as $posicion=>$jugador) { echo "El " . $posicion . " es " . $jugador . '. '; } ?>
<hr>
<h1>Ejercicio 3, apartado a</h1>
<?php $equipos[0][0][0] = 'Frank'; $equipos[0][0][1] = 'Pepe'; $equipos[0][0][2] = 'Luis'; $equipos[0][0][3] = 'Raul'; $equipos[0][1][0] = 'Tiger'; $equipos[0][1][1] = 'Mourin'; $equipos[0][1][2] = 'Katz'; $equipos[0][1][3] = 'Alberto'; $equipos[1][0][0] = 'Suarez'; $equipos[1][0][1] = 'Koltz'; $equipos[1][0][2] = 'Fernandez'; $equipos[1][0][3] = 'Ramirez'; $equipos[2][0][0] = 'Higuita'; $equipos[2][0][1] = 'Mel'; $equipos[2][0][2] = 'Rubens'; $equipos[2][0][3] = 'Messi'; $equipos[2][1][0] = 'Kostenmeiner'; $equipos[2][1][1] = 'Lenkins'; $equipos[2][1][2] = 'Marash'; $equipos[2][1][2] = 'Juanes'; //$msg = 'Equipo: '; for($i = 0; $i < count($equipos); $i++) { $msg = 'Pais: '; if($i == 0) { $msg = $msg . 'España.<br/>'; } else if($i == 1){ $msg = $msg . 'Mexico.<br/>'; } else { $msg = $msg . 'Argentina.<br/>'; } for($j = 0; $j < count($equipos[$i]); $j++) { $msg = $msg . 'El equipo ' . ($j + 1) . ' está formado por:<br/>'; for($k = 0; $k < count($equipos[$i][$j]); $k++) { if($k == 0) { $msg = $msg . 'Portero: '; } else if($k == 1) { $msg = $msg . 'Defensa: '; } else if($k == 2) { $msg = $msg . 'Medio: '; } else { $msg = $msg . 'Delantero: '; } $msg = $msg . $equipos[$i][$j][$k] . '<br/>'; } } echo ($msg . '<br/>'); } ?>
<hr>
<h1>Ejercicio 3, apartado b</h1>
<?php $equipos[0][0][0] = 'Frank'; $equipos[0][0][1] = 'Pepe'; $equipos[0][0][2] = 'Luis'; $equipos[0][0][3] = 'Raul'; $equipos[0][1][0] = 'Tiger'; $equipos[0][1][1] = 'Mourin'; $equipos[0][1][2] = 'Katz'; $equipos[0][1][3] = 'Alberto'; $equipos[1][0][0] = 'Suarez'; $equipos[1][0][1] = 'Koltz'; $equipos[1][0][2] = 'Fernandez'; $equipos[1][0][3] = 'Ramirez'; $equipos[2][0][0] = 'Higuita'; $equipos[2][0][1] = 'Mel'; $equipos[2][0][2] = 'Rubens'; $equipos[2][0][3] = 'Messi'; $equipos[2][1][0] = 'Kostenmeiner'; $equipos[2][1][1] = 'Lenkins'; $equipos[2][1][2] = 'Marash'; $equipos[2][1][2] = 'Juanes'; foreach($equipos as $pais => $valor) { $msg = 'Pais: '; if($pais == 0) { $msg = $msg . 'España.<br/>'; } else if($pais == 1){ $msg = $msg . 'Mexico.<br/>'; } else { $msg = $msg . 'Argentina.<br/>'; } foreach($valor as $numEquipo => $valor2){ if($numEquipo == 0){ $msg = $msg . ' El equipo 1 está formado por:<br/>'; } else { $msg = $msg . ' El equipo 2 está formado por:<br/>'; } foreach($valor2 as $posicion => $valor3){ if($posicion == 0) { $msg = $msg . ' Portero: '; } else if($posicion == 1) { $msg = $msg . ' Defensa: '; } else if($posicion == 2) { $msg = $msg . ' Medio: '; } else { $msg = $msg . ' Delantero: '; } $msg = $msg . $equipos[$pais][$numEquipo][$posicion] . '<br/>'; } } echo ($msg . '<br/>'); } ?>
<hr>
<h1>Ejercicio 3, apartado c</h1>
<?php $equipos1['Espanna']['Equipo1']['portero'] = 'Frank'; $equipos1['Espanna']['Equipo1']['defensa'] = 'Pepe'; $equipos1['Espanna']['Equipo1']['medio'] = 'Luis'; $equipos1['Espanna']['Equipo1']['delantero'] = 'Raul'; $equipos1['Espanna']['Equipo2']['portero'] = 'Tiger'; $equipos1['Espanna']['Equipo2']['defensa'] = 'Mourin'; $equipos1['Espanna']['Equipo2']['medio'] = 'Katz'; $equipos1['Espanna']['Equipo2']['delantero'] = 'Alberto'; $equipos1['Mexico']['Equipo1']['portero'] = 'Suarez'; $equipos1['Mexico']['Equipo1']['defensa'] = 'Koltz'; $equipos1['Mexico']['Equipo1']['medio'] = 'Fernandez'; $equipos1['Mexico']['Equipo1']['delantero'] = 'Ramirez'; $equipos1['Argentina']['Equipo1']['portero'] = 'Higuita'; $equipos1['Argentina']['Equipo1']['defensa'] = 'Mel'; $equipos1['Argentina']['Equipo1']['medio'] = 'Rubens'; $equipos1['Argentina']['Equipo1']['delantero'] = 'Messi'; $equipos1['Argentina']['Equipo2']['portero'] = 'Kostenmeiner'; $equipos1['Argentina']['Equipo2']['defensa'] = 'Lenkins'; $equipos1['Argentina']['Equipo2']['medio'] = 'Marash'; $equipos1['Argentina']['Equipo2']['delantero'] = 'Juanes'; foreach($equipos1 as $pais => $valor) { $msg = 'Pais: '; if($pais == 'Espanna') { $msg = $msg . 'España.<br/>'; } else if($pais == 'Mexico'){ $msg = $msg . 'Mexico.<br/>'; } else { $msg = $msg . 'Argentina.<br/>'; } foreach($valor as $numEquipo => $valor2){ if($numEquipo == 'Equipo1'){ $msg = $msg . ' El equipo 1 está formado por:<br/>'; } else { $msg = $msg . ' El equipo 2 está formado por:<br/>'; } foreach($valor2 as $posicion => $valor3){ if($posicion == 'portero') { $msg = $msg . ' Portero: '; } else if($posicion == 'defensa') { $msg = $msg . ' Defensa: '; } else if($posicion == 'medio') { $msg = $msg . ' Medio: '; } else { $msg = $msg . ' Delantero: '; } $msg = $msg . $equipos1[$pais][$numEquipo][$posicion] . '<br/>'; } } echo ($msg . '<br/>'); } ?>
</body>
</html>
http://aprendehtml.byethost3.com/CU00826B/ejerciciosCU00826B.php
Las respuesta al ejercicio 2 son:
a) es un array asociativo.
b) es un índice de un array.
c) Se obtiene un resultado. Mediante foreach se muesta el contenido el array.
Saludos.
Hola Alex.
La versión que usa el servidor es PHP version: 5.4.25. y como dices me funciona perfectamente.
De todas formas viendo lo visto, ¿es preferible que declare los arrays como tu lo hiciste?
Y el apartado b del primer ejercicio se me olvidó. :o, por aquí pongo el código del foreach...
<?php $msg = 'Apartado b.<br/>Los países limítrofes con Perú son: '; $contador = 0; foreach($paisLimitrofe as $pais){ $msg = $msg . $pais; if($contador < (count($paisLimitrofe)-2)){ $msg = $msg . ', '; } else if ($contador == (count($paisLimitrofe)-2)){ $msg = $msg . ' y '; } else { $msg = $msg . '.<br/>'; } $contador++; } echo ($msg); ?>
Y gracias por la correción y tus comentarios.