0

想象一下,如果有两个列表,并且这两个列表有一些相似的项目。我想要第三个列表,其中前两个之间共享的任何项目都被删除

所以list1.txt:

苹果

公共汽车

list2.txt:

苹果

输出:

公共汽车

4

2 回答 2

1

你可以这样做:

// read both files into an array (each line is an element)
$list1 = file("list1.txt", FILE_IGNORE_NEW_LINES);
$list2 = file("list2.txt", FILE_IGNORE_NEW_LINES);

$merge = array_merge($list1, $list2);
$intersect = array_intersect($list1, $list2);
$not_shared = array_values(array_diff($merge, $intersect));

假设我们有以下文件:
list1.txt

apple
pear
bus

list2.txt

pear
apple
banana

然后输出将如下所示: ( print_r($not_shared))

Array
(
    [0] => bus
    [1] => banana
)
于 2012-12-04T06:59:58.230 回答
0

你可以这样使用:

$arr_result = array_unique( array_merge($arr_1, $arr_2) );

或者你可以这样做:

$arr_1 = array_diff($arr_1, $arr_2);
$arr_2 = array_diff($arr_2, $arr_1);
于 2012-12-04T07:02:26.673 回答