Foros del Web » Programando para Internet » PHP »

Leer valores de Array con nombre variable

Estas en el tema de Leer valores de Array con nombre variable en el foro de PHP en Foros del Web. Hola a todos, quiero leer los valores que estan contenidos dentro de arreglos y al utilizar el foreach me da error de "Invalid argument supplied ...
  #1 (permalink)  
Antiguo 17/12/2010, 13:28
Avatar de Julioarhernandez  
Fecha de Ingreso: enero-2007
Mensajes: 84
Antigüedad: 17 años, 3 meses
Puntos: 0
Pregunta Leer valores de Array con nombre variable

Hola a todos, quiero leer los valores que estan contenidos dentro de arreglos y al utilizar el foreach me da error de "Invalid argument supplied for foreach()"


Código PHP:
for($i=1;$i<=7;$i++){
 foreach(
$arreglo.$i as $p){
  
print_r($p);
 }

O sea tengo 7 arreglos, $arreglo1,$arreglo2....$arreglo7... y quiero ver lo que tiene cada uno de esta forma iterativa. Ya probe creando una variable a parte y asignandole el arreglo mas la cadena.. o sea asi.. pero tampoco funciona..

Código PHP:
for($i=1;$i<=7;$i++){
 
$a$arreglo "$i";
 foreach(
$a as $p){
  
print_r($p);
 }

  #2 (permalink)  
Antiguo 17/12/2010, 13:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Leer valores de Array con nombre variable

imagino que los arreglos los creas usando formularios... no es así?

mala idea, por eso es conveniente agrupar los datos usando la notación de array:
Código HTML:
<input name="arreglo[]"/> 
y así te evitas usar trucos chinos....
Código PHP:
foreach ($_POST['arreglo'] as $key => $value// ... 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/12/2010, 13:50
Avatar de Julioarhernandez  
Fecha de Ingreso: enero-2007
Mensajes: 84
Antigüedad: 17 años, 3 meses
Puntos: 0
Mensaje Respuesta: Leer valores de Array con nombre variable

No, no los lleno a partir de formularios...

Mira, mi problema es que tengo que crear una jerarquia, o sea, un padre, los hijos, los hijos de los hijos, etc.... por eso establezco los niveles del 1 al 7.. que son los arreglos que voy llenando, en el nivel uno el padre, en el nivel 2 los hijos, en el 3 los hijos de los hijos y asi sucesivamente, para ello tenia que buscar en una base de datos e ir guardando los ids de cada integrante en una variable y para mi es mejor en un arreglo, pense crear un arreglo de esta forma, $arr[niveldeusuario] donde el nivel era el nivel en el que estaba y para acceder a el era sencillo pero cuando voy a utilizar un foreach para un nivel en especifico no me funciona...

Ejemplo:

$arr[0]=array(idpadre);
$arr[1]=array(hijo1, hijo2);
$arr[2]=array(hijo1_hijo1,hijo2_hijo1,hijo1_hijo2);

De esta forma buscaba los hijos del padre y luego los hijios de cada uno de los hijos del padre, no se si me hago entender...
  #4 (permalink)  
Antiguo 17/12/2010, 14:02
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 18 años, 10 meses
Puntos: 2
Respuesta: Leer valores de Array con nombre variable

Pues toma tu arreglo $arr y recorrelo con el for y los mas internos con el foreach
Código PHP:
Ver original
  1. for(i=0;i < count($arr); i++){
  2.     foreach(arr[i] as a){
  3.        //lo demas que tengas que hacer
  4.     }
  5. }
__________________
Saludos!
Mty-NL..
  #5 (permalink)  
Antiguo 18/12/2010, 09:52
Avatar de Julioarhernandez  
Fecha de Ingreso: enero-2007
Mensajes: 84
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Leer valores de Array con nombre variable

precisamente ese es mi problema que hacerlo asi no funciona porq da el error q te dije anteiormente, ademas en la sintaxis del foreach no se puede acceder directamente a una llave del arreglo sino al arreglo en si

o sea, nada de esto... $arr[1].. sino $arr...
  #6 (permalink)  
Antiguo 18/12/2010, 11:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Leer valores de Array con nombre variable

entonces imprime la estructura de tu array con print_r(), así la podemos observar y de ahí se plantea su tratamiento... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: nombre, variables
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 09:34.