我有两个数组如下;
$array1 = array(
'cover.xhtml',
'title.xhtml',
'copyright.xhtml',
'dedication.xhtml',
'toc_brief.xhtml',
'toc.xhtml',
'ch02_1.xhtml',
'ch02_2.xhtml',
'ch02_3.xhtml',
'ch02_4.xhtml',
'ch02_5.xhtml',
'ch02_6.xhtml',
'ch02_7.xhtml',
'ch02_8.xhtml',
'ch02_9.xhtml',
'ch02_10.xhtml'
);
$array2 = array(
'',
'title.xhtml',
'copyright.xhtml',
'dedication.xhtml',
'ch02_2.xhtml',
'ch02_2#454.xhtml',
'ch02_4.xhtml',
'ch02_1.xhtml',
'ch02_11.xhtml',
'ch02_12.xhtml',
''
);
结果应为:
array(
'cover.xhtml',
'title.xhtml',
'copyright.xhtml',
'dedication.xhtml',
'toc_brief.xhtml',
'toc.xhtml',
'ch02_1.xhtml',
'ch02_2.xhtml',
'ch02_2#454.xhtml',
'ch02_3.xhtml',
'ch02_4.xhtml',
'ch02_5.xhtml',
'ch02_6.xhtml',
'ch02_7.xhtml',
'ch02_8.xhtml',
'ch02_9.xhtml',
'ch02_10.xhtml',
'ch02_11.xhtml',
'ch02_12.xhtml'
)
我试过:call_user_func_array('array_merge', array_map(null, $array1, $array2));
这并没有产生我所需要的结果。请帮忙。
答案 0 :(得分:0)
如果订单并不重要,请使用:
$array3 = array_values(array_unique(array_filter(array_merge($array1, $array2))));
输出:
Array
(
[0] => cover.xhtml
[1] => title.xhtml
[2] => copyright.xhtml
[3] => dedication.xhtml
[4] => toc_brief.xhtml
[5] => toc.xhtml
[6] => ch02_1.xhtml
[7] => ch02_2.xhtml
[8] => ch02_3.xhtml
[9] => ch02_4.xhtml
[10] => ch02_5.xhtml
[11] => ch02_6.xhtml
[12] => ch02_7.xhtml
[13] => ch02_8.xhtml
[14] => ch02_9.xhtml
[15] => ch02_10.xhtml
[16] => ch02_2#454.xhtml
[17] => ch02_11.xhtml
[18] => ch02_12.xhtml
)
查看here。该代码执行以下操作:合并 - > 删除空 - > 删除重复项 - > 修复密钥。