2017-06-21 99 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); 
相關問題