2017-05-25 71 views
0

讓我描述你的情況 我有兩個陣列,一個與第二欄爲0 並與一些價值第二欄另一個數組,我想合併二維數組

第一陣列

陣列

[0] => Array 
    (
     [time_frame] => 2017-05-19 
     [email_data] => 0 
    ) 

[1] => Array 
    (
     [time_frame] => 2017-05-20 
     [email_data] => 0 
    ) 

[2] => Array 
    (
     [time_frame] => 2017-05-21 
     [email_data] => 0 
    ) 

[3] => Array 
    (
     [time_frame] => 2017-05-22 
     [email_data] => 0 
    ) 

[4] => Array 
    (
     [time_frame] => 2017-05-23 
     [email_data] => 0 
    ) 

[5] => Array 
    (
     [time_frame] => 2017-05-24 
     [email_data] => 0 
    ) 

[6] => Array 
    (
     [time_frame] => 2017-05-25 
     [email_data] => 0 
    ) 

秒陣列

陣列

[0] => Array 
    (
     [time_frame] => 2017-05-20 
     [email_data] => 1 
    ) 

[1] => Array 
    (
     [time_frame] => 2017-05-21 
     [email_data] => 2 
    ) 

[2] => Array 
    (
     [time_frame] => 2017-05-24 
     [email_data] => 8 
    ) 

現在我想達到低於所述數據:

[ 
{ 
    "time_frame": "2017-05-19", 
    "email_data": "0" 
}, 
{ 
    "time_frame": "2017-05-20", 
    "email_data": "1" 
}, 
{ 
    "time_frame": "2017-05-21", 
    "email_data": "2" 
}, 
{ 
    "time_frame": "2017-05-22", 
    "email_data": "0" 
}, 
{ 
    "time_frame": "2017-05-23", 
    "email_data": "0" 
}, 
{ 
    "time_frame": "2017-05-24", 
    "email_data": "8" 
}, 
{ 
    "time_frame": "2017-05-25", 
    "email_data": "0" 
} 

]

在此先感謝。

+0

請出示你已經嘗試了什麼至今 –

+0

@ObjectManipulator我試圖尋找差異,但我得到了第一個數組作爲結果https://www.codeproject.com/Questions/780780/PHP-Finding-differences-in-two-multidimensional-ar –

+0

use'array_merge()'php function it for you –

回答

1

退房這段代碼...

$data1 = array(
     array('time_frame'=>'2017-05-19', 'email_data'=>0), 
     array('time_frame'=>'2017-05-20', 'email_data'=>0), 
     array('time_frame'=>'2017-05-21', 'email_data'=>0), 
     array('time_frame'=>'2017-05-22', 'email_data'=>0), 
     array('time_frame'=>'2017-05-23', 'email_data'=>0), 
     array('time_frame'=>'2017-05-24', 'email_data'=>0), 
     array('time_frame'=>'2017-05-25', 'email_data'=>0) 
    ); 


$data2 = array(
     array('time_frame'=>'2017-05-20', 'email_data'=>1), 
     array('time_frame'=>'2017-05-21', 'email_data'=>2), 
     array('time_frame'=>'2017-05-24', 'email_data'=>8) 
    ); 


foreach ($data2 as $key2 => $value2) 
{ 
    foreach ($data1 as $key1 => $value1) 
    { 
     if($value2['time_frame'] == $value1['time_frame']) { 
      $data1[$key1] = $value2; 
     } 
    } 
} 

echo '<pre>'; 
print_r($data1); 
echo '</pre>'; 
0

爲什麼你使用循環它做的,PHP提供array_merge()功能使用它 例子是在這裏..

第一陣列..

$first = array(
     0 => Array 
      (
       "time_frame" => "2017-05-20", 
       "email_data" => "1" 
      ), 

     1 => Array 
      (
       "time_frame" => "2017-05-21", 
       "email_data" => "2" 
      ), 

     2 => Array 
      (
       "time_frame" => "2017-05-24", 
       "email_data" => "8" 
      ) 
); 

第二陣列...

$second = array(
      0 => Array 
       (
        "time_frame" => "2017-05-19", 
        "email_data" => 0 
       ), 

      1 => Array 
       (
        "time_frame" => "2017-05-20", 
        "email_data" => 0 
       ), 

      2 => Array 
       (
        "time_frame" => "2017-05-21" 
        ,"email_data" => 0 
       ), 

      3 => Array 
       (
        "time_frame" => "2017-05-22" 
        ,"email_data" => 0 
       ), 

      4 => Array 
       (
        "time_frame" => "2017-05-23" 
        ,"email_data" => 0 
       ), 

      5 => Array 
       (
        "time_frame" => "2017-05-24" 
        ,"email_data" => 0 
       ), 

      6 => Array 
       (
        "time_frame" => "2017-05-25" 
        ,"email_data" => 0 
       ) 
    ); 

現在您的解決方案是在這裏..

$combined_array = array_merge($first,$second); 

,它給你所需的結果。簡單。

打印結果...

foreach($combined_array as $key){ 
     print_r($key); 
     echo "<br> - - - - - - - - - - - - - - -- - - - - - - <br>"; 
    } 
+0

.................... ......... [6] =>數組 ( [時間框架] => 2017年5月25日 [email_data] => 0 ) [7] =>數組 ( [時間框架] => 2017-05- 20 [email_data] => 1 ) [8] =>數組 ( [時間框架] => 2017年5月21日 [email_data] => 2 ) [9] =>數組 ( [time_frame] => 2017-05-24 email_data] => 8 ) ) 這是你的代碼 的輸出是不是我所需要 –

+0

你想JSON數據? –