[英]I want to merge two dimensional arrays
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, 让我描述一下这个场景,我有两个数组,其中第二列为0,另一个数组的第二列为某个值,
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>';
Why you do it using loop, php provide array_merge()
function use it example is here.. 为什么使用循环来实现它,php提供了
array_merge()
函数使用它的示例在这里。
first array.. 第一个数组
$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... 第二个数组...
$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
)
);
now your solutions is here.. 现在您的解决方案就在这里。
$combined_array = array_merge($first,$second);
and it give you required result. 它给您所需的结果。 Simple.
简单。
for printing result... 用于打印结果...
foreach($combined_array as $key){
print_r($key);
echo "<br> - - - - - - - - - - - - - - -- - - - - - - <br>";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.