Autor Tema: formas de declarar arrays o arreglos PHP y de recorrerlos función count CU00826B  (Leído 2495 veces)

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Buenas dejo mi ejercicio  CU00826B, y una cuestión al final que no he podido resolver con lo que encontré por internet.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head> <meta charset="utf-8"/>
<body>
<?php

/*EJERCICIO 1*/

$paisLimitrofe = array('Portugal''Francia''Baleares''Marruecos');

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

foreach($paisLimitrofe as $pais){
echo $pais.'<br/>';
}
    echo '<hr/>';

 /*EJERCICIO 2*/
$equipo = array(portero=>'Casillas'defensa=>'Hierro'medio=>'Ces'delantero=>'Ronaldo');
 
foreach($equipo as $posicion=>$jugador) {
echo "El " $posicion " es " $jugador;
}
 /*Parece ser que lo que hace es asignar una especie de etiqueta al texto que luego puede recuperarse con una variable, y así no necesitas 
usar condicionales para mostrar el texto asociado a la variable que te interese */
echo '<hr/>';
 /*EJERCICIO 3*/

     /*A*/
$tablaJugadores[0][0][0]='Frank';
$tablaJugadores[0][0][1]='Pepe';
$tablaJugadores[0][0][2]='Luis';
$tablaJugadores[0][0][3]='Raul';
$tablaJugadores[0][1][0]='Tiger';
$tablaJugadores[0][1][1]='Mourin';
$tablaJugadores[0][1][2]='Katz';
$tablaJugadores[0][1][3]='Alberto';
$tablaJugadores[1][0][0]='Suarez';
$tablaJugadores[1][0][1]='Koltz';
$tablaJugadores[1][0][2]='Fernandez';
$tablaJugadores[1][0][3]='Ramirez';
$tablaJugadores[2][0][0]='Higuita';
$tablaJugadores[2][0][1]='Mel';
$tablaJugadores[2][0][2]='Rubens';
$tablaJugadores[2][0][3]='Messi';
$tablaJugadores[2][1][0]='Kostenmeiner';
$tablaJugadores[2][1][1]='Lenkins';
$tablaJugadores[2][1][2]='Marash';
$tablaJugadores[2][1][3]='Juanes';


for($x=0$x<count($tablaJugadores); $x++){

    echo $pais = ($x==0) ? '<br/><span style="font-weight:bold">España</span><br/>' : (($x==1) ? '<br/><span style="font-weight:bold">Mexico</span><br/>' :
 '<br/><span style="font-weight:bold">Argentina</span><br/>');
     
//echo implode(' ', tablaJugadores[$x]);
for($i=0$i<count($tablaJugadores[$x]); $i++){
echo $equipo = ($i==0) ? '<br/><li>Equipo1</li><br/>' '<br/><li>Equipo2</li><br/>';

//echo implode(' ', tablaJugadores[$x][$i]);
for($j=0$j<count($tablaJugadores[$x][$i]); $j++){
//echo implode(' ', tablaJugadores[$x][$i][$j]);
echo $posicion = ($j==0) ? 'Portero: ' : (($j==1) ? 'Defensa: ' : (($j==2) ? 'Medio: ' 'Delantero: '));  

echo $tablaJugadores[$x][$i][$j].'<br/>';
}
}
}
echo '<hr/>';
/*B*/
    $tablaJugadores[0][0][0]='Frank';
$tablaJugadores[0][0][1]='Pepe';
$tablaJugadores[0][0][2]='Luis';
$tablaJugadores[0][0][3]='Raul';
$tablaJugadores[0][1][0]='Tiger';
$tablaJugadores[0][1][1]='Mourin';
$tablaJugadores[0][1][2]='Katz';
$tablaJugadores[0][1][3]='Alberto';
$tablaJugadores[1][0][0]='Suarez';
$tablaJugadores[1][0][1]='Koltz';
$tablaJugadores[1][0][2]='Fernandez';
$tablaJugadores[1][0][3]='Ramirez';
$tablaJugadores[2][0][0]='Higuita';
$tablaJugadores[2][0][1]='Mel';
$tablaJugadores[2][0][2]='Rubens';
$tablaJugadores[2][0][3]='Messi';
$tablaJugadores[2][1][0]='Kostenmeiner';
$tablaJugadores[2][1][1]='Lenkins';
$tablaJugadores[2][1][2]='Marash';
$tablaJugadores[2][1][3]='Juanes';


  foreach($tablaJugadores as $pais){
  echo '<br/><span style="font-weight:bold">País</span><br/>';
  foreach($pais as $equipo){
  echo 'Equipo<br/>';
  foreach($equipo as $posicion){
  echo $posicion.'<br/>';
  
  }

}
echo '<hr/>';

    /*C*/

$tablaJugadores = array(
'España'=>array('Equipo1'=>array('portero' => 'Frank','defensa' => 'Pepe''medio' => 'Luis''delantero' => 'Raul'),
'Equipo2'=>array('portero' => 'Tiger''defensa' => 'Mourin''medio' => 'Katz''delantero' => 'Alberto')),
'Mexico'=>array('Equipo1'=>array('portero' => 'Suarez''defensa' => 'Koltz''medio' => 'Fernandez''delantero' => 'Ramirez')),
'Argentina'=>array('Equipo1'=>array('portero' => 'Higuita''defensa' => 'Mel''medio' => 'Rubens''delantero' => 'Messi'),
   'Equipo2'=>array('portero' => 'Kostenmeiner''defensa' => 'Lenkins''medio' => 'Marash''delantero' => 'Juanes'))
    );

foreach($tablaJugadores as $pais){
 echo '<br/><span style="font-weight:bold">País</span><br/>';
foreach($pais as $equipo){
  echo 'Equipo<br/>';
             foreach($equipo as $position){ echo $position.'<br/>'; }

    }

}



  

?>


     
</body>
</html>


La pregunta es, como logro mostrar la clave asignada a un valor (por ejemplo: 'España', 'Defensa') en un loop foreach.
He intentado,
 
Código: [Seleccionar]
  foreach ($array as $valor=>$elementoArray){}pero me retorna el valor numerico, osea 0,1,2.... no el texto que le he asociado.
  tampoco me sirvio ni la función key($elementoArray), ni $key(array) ni alguna otra que probé. (no sé si porque declaré mal el array o algo así o porque es)

Si alguien puede mostrarme como hacerlo con mi codigo mismo, se lo agradeceré, pues la utilidad es enorme.

Yo solo lo he logrado sin las comillas, con etiquetas asociadas:

Código: [Seleccionar]
  /*C*/

$tablaJugadores = array(
España=>array(Equipo1=>array(portero => Frank,defensa => 'Pepe', medio => 'Luis', delantero => 'Raul'),
  Equipo2=>array(portero => 'Tiger', defensa => 'Mourin', medio => 'Katz', delantero => 'Alberto')),
Mexico=>array(Equipo1=>array(portero => 'Suarez', defensa => 'Koltz', medio => 'Fernandez', delantero => 'Ramirez')),
Argentina=>array( Equipo1=>array(portero => 'Higuita', defensa => 'Mel', medio => 'Rubens', delantero => 'Messi'),
  Equipo2=>array(portero => 'Kostenmeiner', defensa => 'Lenkins', medio => 'Marash', delantero => 'Juanes'))
    );

foreach($tablaJugadores as $key=>$pais){
echo '<br/><span style="font-weight:bold">País: '.$key.'</span><br/>';
foreach($pais as $key=>$equipo){
  echo 'Equipo:'.$key.'<br/>';
             foreach($equipo as $key=>$position){ echo $key.': '.$position.'<br/>'; }

    }

}


Pero lo interesante es poder lograrlo con 'España' pues así sirve para cuando recoges información de base de datos, etc.
Gracias.
« Última modificación: 24 de Febrero 2016, 10:17 por Alex Rodríguez »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:count PHP (función). CU00826B
« Respuesta #1 en: 22 de Febrero 2016, 20:13 »
Hola Lorenzo, no se muco de PhP, ni te puedo corregir el ejercicio, pero este enlace, creo que podrá solucionar tus dudas.

https://www.aprenderaprogramar.com/foros/index.php?topic=1350.msg7359#msg7359

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