2017-06-21 84 views
0

我有2个数组,并且想要将一个数组的键值&添加到另一个数组的每个成员中。 第一个数组是:数组合并或将一个数组的数值合并或推入另一个数组

Array 
(
    [0] => Array 
     (
      [supply_id] => 2 
     ) 

    [1] => Array 
     (
      [supply_id] => 4 
     ) 

    [2] => Array 
     (
      [supply_id] => 5 
     ) 

) 

第二个数组是:

Array 
(
    [status] => 1 
    [t1_id] => 59 
) 

我需要的结果是:

Array 
(
    [0] => Array 
     (
      [supply_id] => 2, 
      [status] => 1, 
      [t1_id] => 59, 

     ) 

    [1] => Array 
     (
      [supply_id] => 4, 
      [status] => 1, 
      [t1_id] => 59, 
     ) 

    [2] => Array 
     (
      [supply_id] => 5, 
      [status] => 1, 
      [t1_id] => 59, 
     ) 

) 

这看起来很容易我想,但我没能解决它,任何机构都可以帮助我吗?

+2

,如果它总是相同的,你为什么要合并它们?它没有多大意义,如果第一个数组中有很多元素,那么如果很多用户正在运行此脚本,则可能会导致内存问题。 – FMashiro

+1

'foreach($ array1 as $ arr1){$ array3 [] = array_merge($ arr1,$ array2)};' –

+0

试试这个https://eval.in/819871 –

回答

1

依次通过第一阵列,然后在新的数组合并值:

$array_1= array 
(
    0 => array 
     (
      "supply_id" => 2 
     ), 

    1 => array 
     (
      "supply_id" => 4 
     ), 

    2 => array 
     (
      "supply_id" => 5 
     ), 

); 

$array_2=array 
(
    "status" => 1, 
    "t1_id" => 59 
); 
$new_array = array(); 
foreach ($array_1 as $key => $value) { 
    $new_array[] = array_merge($value,$array_2); 
} 
var_dump($new_array); 

O/P:

array (size=3) 
    0 => 
    array (size=3) 
     'supply_id' => int 2 
     'status' => int 1 
     't1_id' => int 59 
    1 => 
    array (size=3) 
     'supply_id' => int 4 
     'status' => int 1 
     't1_id' => int 59 
    2 => 
    array (size=3) 
     'supply_id' => int 5 
     'status' => int 1 
     't1_id' => int 59 
+0

谢谢先生解决我的问题 –

2

你可以试试这个:

$res = array(); 
foreach($secondArray as $k => $v){ 
    $res[$k] = array_merge($secondArray[$k], $firstArray[$k]); 
} 
1

这里我们使用简单foreach循环以实现所需的输出。

Try this code snippet here

foreach($firstArray as $key => &$value) 
{ 
    $value= array_merge($value,$secondArray); 
} 
print_r($array); 
相关问题