我想将下面的两个数组合并为一个.更具体地说,我想将第二个数组的内容添加到第一个数组中的匹配键.最终数组中的键应具有两个数组的匹配键的内容.
Array (
[123456789_404045862944400] => 192
[123456789_403274909688162] => 186
[123456789_402735273075459] => 311
[123456789_252948031457462] => 385
[123456789_400606749954978] => 287
[123456789_286755318061725] => 358
[123456789_399687880046865] => 257
[123456789_398332190182434] => 240
[123456789_397768486905471] => 311
[123456789_396907650324888] => 293
[123456789_394850557197264] => 496
[123456789_394121230603530] => 475
[123456789_369757766367627] => 488
[123456789_391602517522068] => 506
[123456789_390848830930770] => 437
[123456789_389975351018118] => 452
[123456789_242486689170043] => 525
[123456789_388151047867215] => 415
[123456789_387476447934675] => 502
[123456789_386620518020268] => 467
[123456789_215937481836499] => 359
)
Array (
[123456789_404045862944400] => 23:52
[123456789_403274909688162] => 22:21
[123456789_402735273075459] => 04:29
[123456789_252948031457462] => 06:22
[123456789_400606749954978] => 05:01
[123456789_286755318061725] => 04:51
[123456789_399687880046865] => 21:51
[123456789_398395260176127] => 01:13
[123456789_398332190182434] => 23:19
[123456789_397768486905471] => 05:38
[123456789_397509266931393] => 00:46
[123456789_396907650324888] => 03:38
[123456789_394850557197264] => 05:12
[123456789_394121230603530] => 04:15
[123456789_369757766367627] => 04:01
[123456789_391602517522068] => 03:44
[123456789_390848830930770] => 06:05
[123456789_389975351018118] => 04:00
[123456789_242486689170043] => 04:13
[123456789_388151047867215] => 00:22
[123456789_387544787927841] => 07:34
[123456789_387476447934675] => 04:51
[123456789_386620518020268] => 06:05
[123456789_386504878031832] => 02:38
[123456789_215937481836499] => 01:10
)
到目前为止我尝试过的:
$array1 = array_merge($array1, $array2);
还试过像:
foreach($arr2 as $k=>$v) {
$a[$k] = $arr1[$k];
}
但它没有正确地组合/合并数组是匹配键.
我也尝试使用array_combine但是因为它通过使用一个数组来创建一个数组,而另一个数组用于它的值,我无法使其工作.
解决方法:
$array1 = array('key1'=>'value1');
$array2 = array('key2'=>'value2');
$array3 = array();
根据键组合它们
foreach($array1 as $k=>$v)
{
if(array_key_exists($k, $array2))
{
$array3[$k] = array($v, $array2[$k]);
}
}
$array3保存新数组.如果要覆盖原始数组,只需添加即可
$array1 = $array3;
如果你想让array3保存array2没有的单元格而数组1确实有,那么在foreach中添加一个else
else
{
$array3[$k] = array($v, null);
}
这是为了使它在循环时使阵列形状均匀.
这将查看array1的每个元素,检查数组1中每个键的数组2(如果存在),在该键处添加一个新数组,保存该键的前两个数组的数据.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。