Comunidad de diseño web y desarrollo en internet online

Recorrer un array y mostrar el indice según criterio

Citar            
MensajeEscrito el 22 Ene 2016 08:23 am
Hola a todos, tengo un pequeño problema y no doy con la solución, tengo un array multidimensional y necesito mostrar el índice de cada uno de los días de la semana, pero no me funciona como yo quiero, el lunes por ejemplo, me lo muestra como el índice 2 y necesito que me lo muestre como el 1 el martes como 2 etc. porque muestro dinámicamente un listado de enlaces y necesito que al pinchar en el nº 1 a través de una función actúe sobre el lunes y así sucesivamente

Código PHP :

 
$datos = array( //Declara array
               array("Semana1","Detalles",
                         array('Lunes','actividad'),
                         array('Martes','actividad'),
                         array('Miercoles','actividad'),
                         array('Jueves','actividad'), 
                         array('Viernes','actividad')   
                     )            
            );
         
for($i=0;$i<count($datos);$i++) {      
   for($i=0;$i<count($datos[$i]);$i++) {
      echo "<strong>".$datos[$i][0]."</strong> Tiene el valor".$i."<br>";
      echo "<strong>".$datos[$i][1]."</strong> Tiene el valor".$i;
      echo '<br />';
      
      for($j=0;$j<count($datos[$i]);$j++) {
         
         for($k=1;$k<count($datos[$i][$j]);$k++) {
            echo '<br />';         
            echo $datos[$i][$j][0].'&nbsp;&nbsp;&nbsp; Tiene el valor'.$j;
         }
         $lg = count($datos[$i]);
      }      
   
       // LISTAMOS LOS ENLACES
      echo '<div id="enlaces">';
      for ($l=1; $l<$lg; $l++) {            
         
         echo "<a href=\"#\">$l</a>";                     
      }
      echo '</div>'; //fin id="enlaces"
      echo '<br />';             
   }
}

Por pedromir

29 de clabLevel



 

mozilla
Citar            
MensajeEscrito el 28 Ene 2016 04:11 pm
Cuando ves el array de esta manera, entiendes porq es 2 y no 1. :cool:

Código :

Array
(
    [0] => Semana1
    [1] => Detalles
    [2] => Array
        (
            [0] => Lunes
            [1] => actividad
        )

    [3] => Array
        (
            [0] => Martes
            [1] => actividad
        )

    [4] => Array
        (
            [0] => Miercoles
            [1] => actividad
        )

    [5] => Array
        (
            [0] => Jueves
            [1] => actividad
        )

    [6] => Array
        (
            [0] => Viernes
            [1] => actividad
        )

)

Por franqgeek

48 de clabLevel



Genero:Masculino  

Desarrollador Web

chrome
Citar            
MensajeEscrito el 28 Ene 2016 04:14 pm
¿Solucion?
la linea

Código :

echo $datos[$i][$j][0].'&nbsp;&nbsp;&nbsp; Tiene el valor'.$j;


Podria ir así

Código :

echo $datos[$i][$j][0].'&nbsp;&nbsp;&nbsp; Tiene el valor'.($j-1);

Por franqgeek

48 de clabLevel



Genero:Masculino  

Desarrollador Web

chrome
Citar            
MensajeEscrito el 01 Feb 2016 08:06 am
Muchas gracias por tu explicación, pero aunque mis conocimientos de php ahora mismo son básicos, si sabía el motivo por el que ocurría el problema, pero no conseguía encontrar la solución, que aunque sencilla como tu me has demostrado, no daba con ella, pues ya lo he probado y funciona perfectamente, así que muchísimas gracias.
Saludos

Por pedromir

29 de clabLevel



 

mozilla

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.