Foros del Web » Programando para Internet » PHP »

Foreach array multidimensional (no recorrer todas las dimensiones)

Estas en el tema de Foreach array multidimensional (no recorrer todas las dimensiones) en el foro de PHP en Foros del Web. Buenas Estoy empezando a usar el foreach en lugar de bucles for y me surge una duda. Supognamos que tengo un array de este tipo: ...
  #1 (permalink)  
Antiguo 07/06/2009, 05:10
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
De acuerdo Foreach array multidimensional (no recorrer todas las dimensiones)

Buenas

Estoy empezando a usar el foreach en lugar de bucles for y me surge una duda.

Supognamos que tengo un array de este tipo:
$contenido[0][0] = "juan"
$contenido[0][1]= "43";

$contenido[1][0] = "maria"
$contenido[1][1]= "21";

$contenido[2][0] = "stevejobs"
$contenido[2][1]= "1";

Donde el primer dato es el nombre y el segundo el ID de ese registro en la base de datos.

Me interesa recorrer unicamente la primera dimension del vector, es decir, de 0 a 2. (el númeor de nombres que habrá) $contenido[x].

Porque el resto puedo sacarlo a mi antojo (0 o 1) cuando lo necesite en el bucle.

Como se haría entonces, algo de tipo...
foreach ($contenido[] as $nombres)...

Gracias de antemano.
  #2 (permalink)  
Antiguo 07/06/2009, 09:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Foreach array multidimensional (no recorrer todas las dimensiones)

Es un foreach normal:
Código php:
Ver original
  1. foreach ($contenido as $datos) {
  2.       var_dump($datos);
  3. }

Saludos.
  #3 (permalink)  
Antiguo 07/06/2009, 10:22
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Respuesta: Foreach array multidimensional (no recorrer todas las dimensiones)

Cita:
Iniciado por GatorV Ver Mensaje
Es un foreach normal:
Código php:
Ver original
  1. foreach ($contenido as $datos) {
  2.       var_dump($datos);
  3. }

Saludos.
¿Pero con eso solamente me recorrel la primera dimension?

Si tengo $contenido[$i][$a]
¿Me recorrería solamente la longitud de $i?

Saludos.
  #4 (permalink)  
Antiguo 07/06/2009, 11:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Foreach array multidimensional (no recorrer todas las dimensiones)

Te recorre tu primer array, recuerda que en PHP no existen las matrices, lo que tu indicas arriba es un array de arrays, entonces para lo que quieres, debes de ciclar tu array "padre" es decir el primero, y posteriormente dentro de cada valor del foreach() tienes otro array que corresponde a cada entrada.

Saludos.
  #5 (permalink)  
Antiguo 07/06/2009, 11:57
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
De acuerdo Respuesta: Foreach array multidimensional (no recorrer todas las dimensiones)

Cita:
Iniciado por GatorV Ver Mensaje
Te recorre tu primer array, recuerda que en PHP no existen las matrices, lo que tu indicas arriba es un array de arrays, entonces para lo que quieres, debes de ciclar tu array "padre" es decir el primero, y posteriormente dentro de cada valor del foreach() tienes otro array que corresponde a cada entrada.

Saludos.
Muchas gracias GatorV ;) Como siempre.
Por cierto, porque usaste var_dump y no simplemente una asignacion del tipo : $var = $datos?

Ah, y para acceder posteriormente, vastaría con un $var[1] no?

Última edición por IMAC/; 07/06/2009 a las 12:10
  #6 (permalink)  
Antiguo 07/06/2009, 12:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Foreach array multidimensional (no recorrer todas las dimensiones)

Solamente para que vieras como se comporta $dato dentro del foreach. Para leer posteriormente como es un arreglo puedes leer $dato[0] o $dato[1].

Saludos.
  #7 (permalink)  
Antiguo 07/06/2009, 13:07
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Respuesta: Foreach array multidimensional (no recorrer todas las dimensiones)

Cita:
Iniciado por GatorV Ver Mensaje
Solamente para que vieras como se comporta $dato dentro del foreach. Para leer posteriormente como es un arreglo puedes leer $dato[0] o $dato[1].

Saludos.
Gracias nuevamente.
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 03:14.