Foros del Web » Programando para Internet » PHP »

Unir dos arrays.

Estas en el tema de Unir dos arrays. en el foro de PHP en Foros del Web. Hola amigos, necesito unir 2 array por los indices pero no lo he logrado, he probado con array_merge pero para esto me parece que no ...
  #1 (permalink)  
Antiguo 14/09/2010, 20:07
 
Fecha de Ingreso: diciembre-2007
Mensajes: 178
Antigüedad: 17 años
Puntos: 1
Unir dos arrays.

Hola amigos, necesito unir 2 array por los indices pero no lo he logrado, he probado con array_merge pero para esto me parece que no sierve.
Código PHP:
Ver original
  1. $arrayuno=array(  array(
  2.                              "id" =>"1",
  3.                              "nombre => "juan" ),
  4.                             array(
  5.                             "id" =>"2",
  6.                             "nombre => "pedro" ),
  7.                              );
  8.  
  9.  
  10. $arraydos=array(  array(
  11.                              "id" =>"1",
  12.                              "edad => "22" ),
  13.                             array(
  14.                             "id" =>"2",
  15.                             "edad => "34" ),
  16.                              );
La union de los 2 arrays me tiene que quedar:
Código PHP:
Ver original
  1. $arrayuno=array(  array(
  2.                              "id" =>"1",
  3.                              "nombre => "juan",
  4.                             "edad"=> "22",
  5.                               ),
  6.  
  7.                             array(
  8.                             "id" =>"2",
  9.                             "nombre => "pedro"
  10.                              "edad"=> "34",
  11.                              ),
  12.                              );
Si alguien sabe como, le agradezco.
  #2 (permalink)  
Antiguo 14/09/2010, 20:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Unir dos arrays.


Código PHP:
Ver original
  1. $arrayuno[] = $arraydos[0];
???
  #3 (permalink)  
Antiguo 14/09/2010, 21:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 17 años
Puntos: 12
Respuesta: Unir dos arrays.

Perdon pero por que pones arrays dentro de arrays es comlicado pero podria ser asi :S

$array1[0] = $array1[0].','.$array2[0] ;
  #4 (permalink)  
Antiguo 14/09/2010, 23:57
 
Fecha de Ingreso: marzo-2008
Mensajes: 21
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Unir dos arrays.

tal vez :
$arrayuno[0]=$arrayuno[0]+$arraydos[0];
$arrayuno[1]=$arrayuno[1]+$arraydos[1];

luego has esto, para que veas es resultado:
var_dump ($arrayuno);
  #5 (permalink)  
Antiguo 16/09/2010, 08:09
 
Fecha de Ingreso: diciembre-2007
Mensajes: 178
Antigüedad: 17 años
Puntos: 1
Respuesta: Unir dos arrays.

Hola, perdón la tardanza, pero estaba con otra cosa.
Todavia no lo he solucionado, el problema es este.

Resultado de los var_dump de los arrays:
Código PHP:
Ver original
  1. (array 1)
  2.   0 =>
  3.     array
  4.       'id' => string '1' (length=1)
  5.       'precio' => string '55000' (length=5)
  6.       'marca' => string 'Opel' (length=4)
  7.       'modelo' => string 'kadett Mz' (length=9)
  8.      
  9.   1 =>
  10.     array
  11.       'id' => string '2' (length=1)
  12.       'precio' => string '65000' (length=5)
  13.       'marca' => string 'Chevrolet' (length=9)
  14.       'modelo' => string 'corsa' (length=5)
  15.      
  16.   2 =>
  17.     array
  18.       'id' => string '4' (length=1)
  19.       'precio' => string '95000' (length=5)
  20.       'marca' => string 'VMW' (length=3)
  21.       'modelo' => string 'z-wen' (length=5)
  22.      
  23.   3 =>
  24.     array
  25.       'id' => string '5' (length=1)
  26.       'precio' => string '150000' (length=6)
  27.       'marca' => string 'Ferrari' (length=7)
  28.       'modelo' => string 'milano' (length=6)
  29.      
  30.   4 =>
  31.     array
  32.       'id' => string '6' (length=1)
  33.       'precio' => string '30000' (length=5)
  34.       'marca' => string 'Volkswagen' (length=10)
  35.       'modelo' => string 'gol' (length=3)
Código PHP:
Ver original
  1. array2
  2.  
  3.   5 => int 1
  4.   6 => int 1
  5.   4 => int 1
  6.   1 => int 4
  7.   2 => int 6
Explicacion: El array uno bidimensional tiene en cada array una clave "id", las claves del array2 son las claves de "id" del array uno, a partir de esto tengo que ingresar al array1 otra clave (en este caso seria 'cantidad') con el valor del array 2.
O sea de acuerdo a los dos arrays que tengo el array final tendria que quedar asi
Código PHP:
Ver original
  1. 0 =>
  2.     array
  3.       'id' => string '1' (length=1)
  4.       'precio' => string '55000' (length=5)
  5.       'marca' => string 'Opel' (length=4)
  6.       'modelo' => string 'kadett Mz' (length=9)
  7.       'cantidad' => '4'
  8.   1 =>
  9.     array
  10.       'id' => string '2' (length=1)
  11.       'precio' => string '65000' (length=5)
  12.       'marca' => string 'Chevrolet' (length=9)
  13.       'modelo' => string 'corsa' (length=5)
  14.       'cantidad' => '6'
  15.   2 =>
  16.     array
  17.       'id' => string '4' (length=1)
  18.       'precio' => string '95000' (length=5)
  19.       'marca' => string 'VMW' (length=3)
  20.       'modelo' => string 'z-wen' (length=5)
  21.       'cantidad' => '1'
  22.   3 =>
  23.     array
  24.       'id' => string '5' (length=1)
  25.       'precio' => string '150000' (length=6)
  26.       'marca' => string 'Ferrari' (length=7)
  27.       'modelo' => string 'milano' (length=6)
  28.       'cantidad' => '1'
  29.   4 =>
  30.     array
  31.       'id' => string '6' (length=1)
  32.       'precio' => string '30000' (length=5)
  33.       'marca' => string 'Volkswagen' (length=10)
  34.       'modelo' => string 'gol' (length=3)
  35.       'cantidad' => '1'
Resumiendo, unir 2 array mediante la clave de uno y el valor de otro que es bidimensional.
Hasta ahora no he podido hacer esto.

Etiquetas: arrays, dos, unir
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 14:10.