Foros del Web » Programando para Internet » PHP »

armar array con mismo nombre

Estas en el tema de armar array con mismo nombre en el foro de PHP en Foros del Web. Hola, como están? Se me planteo una duda de armado y no puedo lograr hacerlo correctamente. Tengo que armar dentro de un array esta estructura, ...
  #1 (permalink)  
Antiguo 12/08/2015, 17:12
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 10 años, 3 meses
Puntos: 0
armar array con mismo nombre

Hola, como están?
Se me planteo una duda de armado y no puedo lograr hacerlo correctamente.
Tengo que armar dentro de un array esta estructura, es para consumir desde un web service con nusoap

Código PHP:
Ver original
  1. $arreglo = array(
  2.                 'encabezado'=>array(
  3. 'usuario' => $post['usuario]),
  4. 'Solicitar'=>
  5.                    array(
  6.                        'quesolicitar =>
  7.                             array(
  8.                                 'Pedido'=>1),
  9.  
  10.                         'quesolicitar =>
  11.                            array(
  12.                                'Pedido'=>2)
  13.  
  14. )
  15. )

Cuando ejecuto desaparece pedido 1.
Entonces intente concatenar con $arreglo[]

pero me dice que los campos usuario y solicitar están vacios.

cual seria el correcto armado?

Gracias por la ayuda.
Saludos.
  #2 (permalink)  
Antiguo 12/08/2015, 17:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 14 años, 2 meses
Puntos: 2534
Respuesta: armar array con mismo nombre

Cita:
cual seria el correcto armado?
No se entiende.

Debes explicar cual es la estructura que esperas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/08/2015, 17:26
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: armar array con mismo nombre

el armado correcto es el que intento hacer, el problema es que desaparece a la hora de ejecutar pedido 1
  #4 (permalink)  
Antiguo 12/08/2015, 17:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 14 años, 2 meses
Puntos: 2534
Respuesta: armar array con mismo nombre

Cita:
el problema es que desaparece a la hora de ejecutar pedido 1
Bueno, pues entonces muestra esa parte, adivinar no se puede.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 12/08/2015, 17:45
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: armar array con mismo nombre

Ojala sea mas claro ahora.

Tengo que armar un array así:
Código HTML:
Ver original
  1. <encabezado>
  2. <usuario></usuario>
  3. </encabezado>
  4. <Solicitar>
  5. <quesolicitar>
  6. <pedido>1</pedido>
  7. </quesolicitar>
  8. <quesolicitar>
  9. <pedido>2</pedido>
  10. </quesolicitar>
  11.  
  12.  
  13. </Solicitar>
Cuando intento armarlo con el código que puse me muestra pedido 2 y me borra pedido 1.

Última edición por hernan2212; 12/08/2015 a las 17:46 Razón: error
  #6 (permalink)  
Antiguo 12/08/2015, 17:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 14 años, 2 meses
Puntos: 2534
Respuesta: armar array con mismo nombre

Sigue sin entenderse, es decir ¿cómo construyes el xml?

Si el array es correcto, pero el xml resulta mal ¿no crees que el problema sea cómo lo construyes?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 12/08/2015, 18:02
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: armar array con mismo nombre

claro, el problema es como lo construyo, sin dudas. Al construirlo deja solamente la ultima etiqueta que tenga el mismo nombre, osea <quesolicitar>, y no se de que manera armarlo para que deje las dos.
  #8 (permalink)  
Antiguo 12/08/2015, 18:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 14 años, 2 meses
Puntos: 2534
Respuesta: armar array con mismo nombre

Cita:
Iniciado por hernan2212 Ver Mensaje
claro, el problema es como lo construyo, sin dudas. Al construirlo deja solamente la ultima etiqueta que tenga el mismo nombre, osea <quesolicitar>, y no se de que manera armarlo para que deje las dos.
Claro, y supongo que no habrá manera de que nos muestres dicho código para entender mejor lo que haces ¿cierto?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 12/08/2015, 18:12
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: armar array con mismo nombre

Código PHP:
Ver original
  1. $arreglo = array(
  2.  
  3.                 'encabezado'=>array(
  4.  
  5. 'usuario' => 'Usuario'),
  6.  
  7. 'Solicitar'=>
  8.  
  9.                     array(
  10.  
  11.                         'quesolicitar' =>
  12.  
  13.                             array(
  14.  
  15.                                 'Pedido'=>1),
  16.  
  17.  
  18.  
  19.                         'quesolicitar' =>
  20.                             array(
  21.  
  22.                                 'Pedido'=>2)
  23.  
  24. )
  25.  
  26. );
  27. echo '<pre>';print_r($arreglo);


Resultado:
Código HTML:
Ver original
  1. Array
  2. (
  3.     [encabezado] => Array
  4.         (
  5.             [usuario] => Usuario
  6.         )
  7.  
  8.     [Solicitar] => Array
  9.         (
  10.             [quesolicitar] => Array
  11.                 (
  12.                     [Pedido] => 2
  13.                 )
  14.  
  15.         )
  16.  
  17. )
y necesito que sea:

Código HTML:
Ver original
  1. Array
  2. (
  3.     [encabezado] => Array
  4.         (
  5.             [usuario] => Usuario
  6.         )
  7.  
  8.     [Solicitar] => Array
  9.         (
  10. [quesolicitar] => Array
  11.                 (
  12.                     [Pedido] => 1
  13.                 )
  14.            
  15. [quesolicitar] => Array
  16.                 (
  17.                     [Pedido] => 2
  18.                 )
  19.  
  20.         )
  21.  
  22. )

Última edición por hernan2212; 12/08/2015 a las 18:13 Razón: mas claro
  #10 (permalink)  
Antiguo 12/08/2015, 18:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 14 años, 2 meses
Puntos: 2534
Respuesta: armar array con mismo nombre

Ya entendí.

El tema, es que no puedes duplicar claves y eso es precisamente lo que haces.

Si varios elementos comparten la misma clave debes agregarlos en otro array así:
Código PHP:
Ver original
  1. $foo = array(
  2.   array('x' => 'a'),
  3.   array('x' => 'b')
  4. );

Pero de ninguna forma podrás tener dos elementos con la misma clave dentro del mismo array como expones en el código que esperas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: armado, arreglo, nusoap
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 21:46.