Let me describe you the scenario I have got two arrays one with second column as 0 and another array with second column with some value,
first array
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
)
second array
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
)
)
Now what I want to achieve is the data below:
[
{
"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"
}
]
Thanks in advance.
Check out this piece of code...
$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>';