Foros del Web » Programando para Internet » PHP »

CodeIgniter Sacar datos de array multidimensional

Estas en el tema de Sacar datos de array multidimensional en el foro de PHP en Foros del Web. Hola a todos, Tengo una pequeña duda que viene comiendome la cabeza toda la semana, a ver si me podeis echar una mano Resulta que ...
  #1 (permalink)  
Antiguo 22/11/2011, 10:19
 
Fecha de Ingreso: junio-2009
Mensajes: 59
Antigüedad: 14 años, 10 meses
Puntos: 13
Pregunta Sacar datos de array multidimensional

Hola a todos,

Tengo una pequeña duda que viene comiendome la cabeza toda la semana, a ver si me podeis echar una mano


Resulta que estoy haciendo una aplicación con Codeigniter que extrae datos de un webservice soap, hasta aquí todo bien, el problema es que me devuelve un array multidimensional que dependiendo de la consulta que haga al webservice, tiene mas o menos dimensiones.

Un ejemplo con 2 resultados es:

Código Array:
Ver original
  1. Array
  2. (
  3.     [consulta_dnp] => Array
  4.         (
  5.             [control] => Array
  6.                 (
  7.                     [cudnp] => 10
  8.                 )
  9.  
  10.             [lrcdnp] => Array
  11.                 (
  12.                     [rcdnp] => Array
  13.                         (
  14.                             [0] => Array
  15.                                 (
  16.                                     [rc] => Array
  17.                                         (
  18.                                             [pc1] => 2119301
  19.                                             [pc2] => DF2921G
  20.                                             [car] => 0003
  21.                                             [cc1] => U
  22.                                             [cc2] => E
  23.                                         )
  24.  
  25.                                     [dt] => Array
  26.                                         (
  27.                                             [loine] => Array
  28.                                                 (
  29.                                                     [cp] => 08
  30.                                                     [cm] => 205
  31.                                                 )
  32.  
  33.                                             [cmc] => 204
  34.                                             [np] => BARCELONA
  35.                                             [nm] => SANT CUGAT DEL VALLES
  36.                                             [locs] => Array
  37.                                                 (
  38.                                                     [lous] => Array
  39.                                                         (
  40.                                                             [lourb] => Array
  41.                                                                 (
  42.                                                                     [dir] => Array
  43.                                                                         (
  44.                                                                             [cv] => 1635
  45.                                                                             [tv] => CL
  46.                                                                             [nv] => JOSEP IRLA
  47.                                                                             [pnp] => 23
  48.                                                                         )
  49.  
  50.                                                                     [loint] => Array
  51.                                                                         (
  52.                                                                             [bq] => A
  53.                                                                             [es] => 1
  54.                                                                             [pt] => 00
  55.                                                                             [pu] => 01
  56.                                                                         )
  57.  
  58.                                                                     [dp] => 08195
  59.                                                                 )
  60.  
  61.                                                         )
  62.  
  63.                                                 )
  64.  
  65.                                         )
  66.  
  67.                                 )
  68.  
  69.                             [1] => Array
  70.                                 (
  71.                                     [rc] => Array
  72.                                         (
  73.                                             [pc1] => 2119301
  74.                                             [pc2] => DF2921G
  75.                                             [car] => 0004
  76.                                             [cc1] => I
  77.                                             [cc2] => R
  78.                                         )
  79.  
  80.                                     [dt] => Array
  81.                                         (
  82.                                             [loine] => Array
  83.                                                 (
  84.                                                     [cp] => 08
  85.                                                     [cm] => 205
  86.                                                 )
  87.  
  88.                                             [cmc] => 204
  89.                                             [np] => BARCELONA
  90.                                             [nm] => SANT CUGAT DEL VALLES
  91.                                             [locs] => Array
  92.                                                 (
  93.                                                     [lous] => Array
  94.                                                         (
  95.                                                             [lourb] => Array
  96.                                                                 (
  97.                                                                     [dir] => Array
  98.                                                                         (
  99.                                                                             [cv] => 1635
  100.                                                                             [tv] => CL
  101.                                                                             [nv] => JOSEP IRLA
  102.                                                                             [pnp] => 23
  103.                                                                         )
  104.  
  105.                                                                     [loint] => Array
  106.                                                                         (
  107.                                                                             [bq] => A
  108.                                                                             [es] => 1
  109.                                                                             [pt] => 00
  110.                                                                             [pu] => 02
  111.                                                                         )
  112.  
  113.                                                                     [dp] => 08190
  114.                                                                 )
  115.  
  116.                                                         )
  117.  
  118.                                                 )
  119.  
  120.                                         )
  121.  
  122.                                 )
  123.  
  124.  
  125.                         )
  126.  
  127.                 )
  128.  
  129.         )
  130.  
  131. )

Necesito poder sacar esos datos para meterlos en un select y que el usuario pueda seleccionar su opción.
No hay manera de sacar esos datos correctamente, puedo sacarlos uno a uno, por ejemplo:

Código PHP:
Ver original
  1. echo $resultado ['consulta_dnp'] ['lrcdnp'] ['rcdnp']['0'] ['rc'] ['pc1'];

Pero evidentemente necesito recorrer todos los array independientemente del numero de resultados que me devuelva.

Gracias

Un saludo
  #2 (permalink)  
Antiguo 22/11/2011, 12:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 61
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Sacar datos de array multidimensional

que datos necesitas sacar lo puedes hacer con un for o un foreach

ejemplo para recorrer 2 ultimos arreglos

Código PHP:
for($i=0:$i<count($resultado ['consulta_dnp'] ['lrcdnp'] ['rcdnp']['0'] ['rc']);$i++;)
{
for(
$j=0:$j<count($resultado ['consulta_dnp'] ['lrcdnp'] ['rcdnp']['0'] ['rc'] ['pc1']);$j++;)
{
echo 
$resultado ['consulta_dnp'] ['lrcdnp'] ['rcdnp']['0'] [$i] [$j];
}


__________________
Pelearé hasta el último segundo y mi epitafio será:
No estoy de acuerdo.
Aplicaciones web gratis aplicaciones para cfd y cfdi
Gerente de Desarollo Protecno
  #3 (permalink)  
Antiguo 22/11/2011, 15:29
 
Fecha de Ingreso: junio-2009
Mensajes: 59
Antigüedad: 14 años, 10 meses
Puntos: 13
Respuesta: Sacar datos de array multidimensional

Gracias por responder, me lo miraré bien e intentare implementar esta solución.

De nuevo, gracias y ya te diré algo.


Un saludo!
__________________
Tú mente será tu unica limitación...
Desarrollo web, Administración de sistemas Delasweb.com

Etiquetas: codeigniter, multidimensional, usuarios
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 08:59.