Foros del Web » Programando para Internet » PHP »

Preguntas sobre arrays

Estas en el tema de Preguntas sobre arrays en el foro de PHP en Foros del Web. Hola. bueno tengo una duda ,tengo un array de este tipo Código PHP: $miarray  = array( 'descargar' =>  'Descargar' ,      'soporte'   =>  'Soporte' ,          ...
  #1 (permalink)  
Antiguo 02/05/2011, 19:03
 
Fecha de Ingreso: abril-2010
Mensajes: 30
Antigüedad: 14 años
Puntos: 0
Preguntas sobre arrays

Hola.

bueno tengo una duda ,tengo un array de este tipo

Código PHP:
$miarray = array('descargar'=> 'Descargar',
    
'soporte'  => 'Soporte',
        
'registro' => 'Registro',
        
'registrarse' => 'Registrarse',
        
'ingresar'  => Ingresar .... etc
y 2 menus el cual esta ordenado en una etiqueta <li> algo asi:
Código PHP:
<li><?php echo $miarray['descargar'];?></li><li><?php  echo $miarray[''soporte];?></li> .. etc
y quisiera saber como puedo mostrar la mitad los valores con algun loop.
para no ordenar como lo hago.
sino que imprimirla la mitad de los resultados en un menu y la otra mitad en el otro.
porfabor espero me ayuden gracias.
  #2 (permalink)  
Antiguo 02/05/2011, 19:30
 
Fecha de Ingreso: noviembre-2009
Mensajes: 205
Antigüedad: 14 años, 5 meses
Puntos: 15
Respuesta: Preguntas sobre arrays

Código PHP:
Ver original
  1. foreach($miarray as $key => $value)
  2. {
  3.     echo $key ." - ". $value;
  4. }
  #3 (permalink)  
Antiguo 02/05/2011, 20:22
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años
Puntos: 236
Respuesta: Preguntas sobre arrays

Hola!
Bueno si lo que quieres es mostrar los dos menus puedes hacer lo siguiente:

Código PHP:
<?php
$miarray 
= array(
   
'descargar'=> 'Descargar',
   
'soporte'  => 'Soporte',
   
'registro' => 'Registro',
   
'registrarse' => 'Registrarse',
   
'ingresar'  => "Ingresar"
);
$i=0;// variable que indica el inicio del primer elemento del array
$corte=ceil(sizeof($miarray)/2); /*variable con la mitad del total de elementos del array*/
echo "Menú A<ul>"// Se imprime el inicio del primer menú
foreach($miarray as $k=>$valor){ /* se inicia un foreach para imprimir cada opción del menú */
   
if($i==$corte/* si la variable $i(que comienza en cero) es igual a $corte(que es la mitad del array) se imprime el final del primer menú y marca el inicio del segundo menú */
      
echo "</ul><hr />Menú B<ul><li>$valor</li>";
   else 
//de lo contrario se imprime solamente el valor
      
echo "<li>$valor</li>";
   
$i++;// al final de un ciclo se suma 1 a la variable $i
}
echo 
"</ul>"// por último se cierra el segundo menú
?>
Hay te va que hace las dos funciónes utilizadas por si no las conoces:
  • sizeof() - obtiene el número de la cantidad de elementos que contiene un conjunto
  • ceil() - obtiene el valor más alto de una cantidad con punto decimal ej: 2.2=3, 2.7=3.
Espero y esta info te sirva, Saludos!
  #4 (permalink)  
Antiguo 02/05/2011, 21:02
 
Fecha de Ingreso: abril-2010
Mensajes: 30
Antigüedad: 14 años
Puntos: 0
Respuesta: Preguntas sobre arrays

Muchas gracias angelfcm me sirvio mucho!!
  #5 (permalink)  
Antiguo 02/05/2011, 21:06
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años
Puntos: 236
Respuesta: Preguntas sobre arrays

A que bien!, para servirle! jeje
Oye sobre el karma: -1+1? jaja me diste 0 karma XD
No sabía que se podia dar cero karma jaja ese es un buen truco!
  #6 (permalink)  
Antiguo 03/05/2011, 00:49
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Preguntas sobre arrays

Cita:
Iniciado por angelfcm Ver Mensaje
A que bien!, para servirle! jeje
Oye sobre el karma: -1+1? jaja me diste 0 karma XD
No sabía que se podia dar cero karma jaja ese es un buen truco!
Falso, no se puede dar karma negativo y positivo al mismo post, solo en posts diferentes (por cierto, utilize tus posts de test xD )

Etiquetas: arrays, preguntas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:22.