Foros del Web » Programando para Internet » PHP »

foreach y for i<5

Estas en el tema de foreach y for i<5 en el foro de PHP en Foros del Web. Hola tengo una función que lee un array. El tema es que quiero leer sólo las 5 primeras entradas del array. Podría usar for($i=0;$i<5;$i++) pero ...
  #1 (permalink)  
Antiguo 28/10/2011, 20:04
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años, 7 meses
Puntos: 15
foreach y for i<5

Hola tengo una función que lee un array. El tema es que quiero leer sólo las 5 primeras entradas del array.

Podría usar for($i=0;$i<5;$i++) pero si hay menos de 5 entradas da error la función que va dentro del for.

Por ello tendría que usar una mezcla de foreach y for no? De tal forma que lea cómo máximo 5 entradas pero si éstas son menores a 5, que no de error.

Cómo se podría hacer? (se me ocurre un break dentro del foreach con un contador <=5 pero no sé si es muy heterodoxo...)
  #2 (permalink)  
Antiguo 28/10/2011, 20:43
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: foreach y for i<5

Estás en lo correcto:
Código PHP:
Ver original
  1. $c = 0;
  2. foreach($arr as $a) {
  3.     if($c == 5)
  4.         break;
  5.     $c++;
  6. }
Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 28/10/2011, 20:53
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: foreach y for i<5

usa count para saber cuantos elementos tiene y preparas el bucle y ya.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: foreach
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 08:20.