Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: bermartinv en 26 de Enero 2017, 11:37

Título: Curso PHP. Recorridos Array multidimensionales y arreglos asociativos CU00826B
Publicado por: bermartinv en 26 de Enero 2017, 11:37
Mis soluciones al tema CU00826B del curso de php de aprenderaprogramar.com

EJERCICIO 1

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

http://cursophp.byethost14.com/aprenderaprogramar/foreach_1_CU00826B.php (http://cursophp.byethost14.com/aprenderaprogramar/foreach_1_CU00826B.php)

Código: [Seleccionar]
<?php

$paisLimitrofe 
= array ('Portugal','Francia','Italia','Inglaterra','Marruecos');

echo 
'<ul>Paises:';

for (
$i 0$i < (count($paisLimitrofe)) ; $i++){
    
    echo 
'<li>'$paisLimitrofe[$i].'</li>';
    
}

echo 
'</ul>';

echo 
'<table><tr><td>Uso de for each</td></tr>';

foreach (
$paisLimitrofe as $valor){
    
    echo 
'<tr><td>'.$valor.'<td/></th>';
}

echo 
'<table/>';

?>


EJERCICIO 2

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

http://cursophp.byethost14.com/aprenderaprogramar/foreach_2_CU00826B.php (http://cursophp.byethost14.com/aprenderaprogramar/foreach_2_CU00826B.php)

Código: [Seleccionar]
<?php

$equipo 
= array(portero=>'Casillas'defensa=>'Hierro'medio=>'Ces'delantero=>'Ronaldo');

foreach(
$equipo as $posicion=>$jugador) {
    echo 
"El " $posicion " es " $jugador."</br>";
    }

?>


EJERCICIO 3

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

http://cursophp.byethost14.com/aprenderaprogramar/foreach_3_CU00826B.php (http://cursophp.byethost14.com/aprenderaprogramar/foreach_3_CU00826B.php)

Código: [Seleccionar]
<?php

// Primer equipo de españoles
$equipo[0][0][0]="Frank";
$equipo[0][0][1]="Pepe";
$equipo[0][0][2]="Luis";
$equipo[0][0][3]="Raul";
// Segundo equipo de españoles
$equipo[0][1][0]="Tiger";
$equipo[0][1][1]="Mourin";
$equipo[0][1][2]="Katz";
$equipo[0][1][3]="Alberto";
// Primer equipo de mexicanos
$equipo[1][0][0]="Suarez";
$equipo[1][0][1]="Koltz";
$equipo[1][0][2]="Fernandez";
$equipo[1][0][3]="Ramirez";
// Primer equipo de argeninos
$equipo[2][0][0]="Higuita";
$equipo[2][0][1]="Mel";
$equipo[2][0][2]="Rubens";
$equipo[2][0][3]="Messi";
// Segundo equipo de argentinos
$equipo[2][1][0]="Kostenmeiner";
$equipo[2][1][1]="Lenkins";
$equipo[2][1][2]="Marash";
$equipo[2][1][3]="Juanes";
echo 
'Apartado A<br/>';
for (
$i 0$i<count($equipo); $i++){
    if (
$i == 0){
        
$pais 'España';
    }else if (
$i ==  ){
        
$pais 'Mexico';
    }else if (
$i == 2){
        
$pais 'Argentina';
    }
    echo 
'El pais '.$pais;

        for (
$j $j count($equipo[$i]); $j++){
             if (
$j == 0){
                    
$numero_equipo ' su primer';
             }else if (
$j ==  ){
                    
$numero_equipo ' su segundo';
             }

             echo 
$numero_equipo." equipo sus jugadores son: <br/>";

                for(
$k 0$k count($equipo[$i][$j]); $k++){

                    if (
$k == 0){
                    
$posicion ' portero';
                    }else if (
$k ==  ){
                    
$posicion ' defensa';
                    }else if (
$k == 2) {
                    
$posicion 'medio';
                    }else if (
$k == 3){
                    
$posicion 'delantero';
                    }
                    echo 
" juega de ".$posicion.' '.$equipo[$i][$j][$k]."<br>";

        }
    }
}
echo 
'<br/><br/>';
// APARTADO B
echo 'Apartado 2<br/>';
foreach(
$equipo as $pais => $team){
        if (
$pais == 0){
            
$nombre_pais 'España';
        }else if (
$pais ==  ){
            
$nombre_pais 'Mexico';
        }else if (
$pais == 2){
            
$nombre_pais 'Argentina';
        }
    echo 
'El pais '.$nombre_pais;

foreach($equipo[$pais] as $team => $posicion){
            if (
$team == 0){
                    
$numero_equipo ' su primer';
             }else if (
$team ==  ){
                    
$numero_equipo ' su segundo';
             }
echo $numero_equipo." equipo , <br>";

foreach($equipo[$pais][$team] as $posicion_jugador => $jugador){
                 if (
$posicion_jugador == 0){
                    
$posicion ' portero';
                    }else if (
$posicion_jugador ==  ){
                    
$posicion ' defensa';
                    }else if (
$posicion_jugador == 2) {
                    
$posicion 'medio';
                    }else if (
$posicion_jugador == 3){
                    
$posicion 'delantero';
                    }
                    echo 
" juega de ".$posicion.' '.$jugador."<br>";

}
}
}
echo 
'<br/><br/>';
// APARTADO C
echo 'Apartado 3<br/>';
foreach(
$equipo as $pais => $valor_pais){
if ($pais == 0){
            
$nombre_pais 'España';
        }else if (
$pais ==  ){
            
$nombre_pais 'Mexico';
        }else if (
$pais == 2){
            
$nombre_pais 'Argentina';
        }
    echo 
'El pais '.$nombre_pais;

foreach($valor_pais as $numero_equipo => $valor_equipo){
            if (
$numero_equipo == 0){
                    
$equipo ' su primer';
             }else if (
$numero_equipo ==  ){
                    
$equipo ' su segundo';
             }
echo $equipo." equipo , <br>";

foreach($valor_equipo as $posicion => $jugador){
if ($posicion == 0){
                    
$posicion_jugador ' portero';
                    }else if (
$posicion ==  ){
                    
$posicion_jugador ' defensa';
                    }else if (
$posicion == 2) {
                    
$posicion_jugador 'medio';
                    }else if (
$posicion == 3){
                    
$posicion_jugador 'delantero';
                    }
                    echo 
" juega de ".$posicion_jugador.' '.$jugador."<br>";
}
        }
}
?>


Saludos.
Título: Re:Curso PHP. Recorridos Array multidimensionales. CU00826B
Publicado por: pedro,, en 27 de Enero 2017, 09:08
Hola bermartinv.

En el ejercicio 2 te faltan las respuestas a las preguntas.

En el ejercicio 3 en el apartado c pide que declares un array asociativo de este tipo:

Código: [Seleccionar]
$equipos['Mexico']['Equipo1']['defensa']="koltz" ;
Lo demás todo bien.

Saludos. ;D
Título: Re:Curso PHP. Recorridos Array multidimensionales. CU00826B
Publicado por: bermartinv en 27 de Enero 2017, 12:22
Del ejercicio 2, se me pasó ponerlo.
Citar
a) ¿$equipo es una variable normal, un array tradicional ó un array asociativo?
$equipo es un array asociativo, como vemos cada elemento del vector tienen su nombre y su valor.
Citar
b) ¿portero es un índice de un array, un contenido de un elemento de un array o un contenido de una variable simple?
portero es el índice de un array con la diferencia que en vez de estar númerado el array, sus elementos están cuantificados por nombre y no por números.
Citar
c) ¿Al ejecutar el código obtienes un resultado por pantalla u obtienes un error? ¿Qué es lo que hace el código?
Se obtiene el resultado que se iba buscando.

Para el ejercicio 3, el apartado c. Adjunto código.
Código: [Seleccionar]
<?php
// APARTADO C
echo 'Apartado 3<br/>';

$equipo_futbol['España']['Equipo1']['portero']="Frank";
$equipo_futbol['España']['Equipo1']['defensa']="Pepe";
$equipo_futbol['España']['Equipo1']['medio']="Luis";
$equipo_futbol['España']['Equipo1']['delantero']="Raul";

$equipo_futbol['España']['Equipo2']['portero']="Tiger";
$equipo_futbol['España']['Equipo2']['defensa']="Mourin";
$equipo_futbol['España']['Equipo2']['medio']="Katz";
$equipo_futbol['España']['Equipo2']['delantero']="Alberto";

$equipo_futbol['Mexico']['Equipo1']['portero']="Suarez";
$equipo_futbol['Mexico']['Equipo1']['defensa']="koltz";
$equipo_futbol['Mexico']['Equipo1']['medio']="Fernandez";
$equipo_futbol['Mexico']['Equipo1']['delantero']="Ramirez";

$equipo_futbol['Argentina']['Equipo1']['portero']="Higuita";
$equipo_futbol['Argentina']['Equipo1']['defensa']="Mel";
$equipo_futbol['Argentina']['Equipo1']['medio']="Rubens";
$equipo_futbol['Argentina']['Equipo1']['delantero']="Messi";

$equipo_futbol['Argentina']['Equipo2']['portero']="Kostenmeiner";
$equipo_futbol['Argentina']['Equipo2']['defensa']="Lenkins";
$equipo_futbol['Argentina']['Equipo2']['medio']="Marash";
$equipo_futbol['Argentina']['Equipo2']['delantero']="Juanes";

foreach(
$equipo_futbol as $pais => $valor_pais){
if ($pais == 'España'){
            
$nombre_pais 'España';
        }else if (
$pais ==  'Mexico' ){
            
$nombre_pais 'Mexico';
        }else if (
$pais == 'Argentina'){
            
$nombre_pais 'Argentina';
        }
    echo 
'El pais '.$nombre_pais;

foreach($valor_pais as $numero_equipo => $valor_equipo){
            if (
$numero_equipo == 'Equipo1'){
                    echo 
' su '.$numero_equipo.' , </br>';
             }else {
                    echo 
' su '.$numero_equipo.' , </br>';
             }
foreach($valor_equipo as $posicion => $jugador){
if ($posicion == 'portero'){
                    
$posicion_jugador ' portero';
                  }elseif (
$posicion ==  'defensa' ){
                    
$posicion_jugador ' defensa';
                  }elseif (
$posicion == 'medio') {
                    
$posicion_jugador 'medio';
                  }elseif (
$posicion == 'delantero'){
                    
$posicion_jugador 'delantero';
                    }
                    echo 
" juega de ".$posicion_jugador.' '.$jugador."<br>";
}
        }
}
?>


http://cursophp.byethost14.com/aprenderaprogramar/foreach_3_CU00826B.php (http://cursophp.byethost14.com/aprenderaprogramar/foreach_3_CU00826B.php)

Muchas gracias pedro,, . Saludos