0
想象一下,如果有两个列表,并且两个列表中有一些相似的项目。 我想的第三列表,其中任何产品之间共享的前两个被除去从列表中有条件地删除
所以list1.txt:
苹果
梨
总线
list2.txt:
apple
梨
输出:
总线
想象一下,如果有两个列表,并且两个列表中有一些相似的项目。 我想的第三列表,其中任何产品之间共享的前两个被除去从列表中有条件地删除
所以list1.txt:
苹果
梨
总线
list2.txt:
apple
梨
输出:
总线
你可以做这样的:
// 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
)
你可以使用这样的:
$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);
我绑这个,它所做的就是输出单词'array' –
@NarisaGlory当然,因为'$ not_shared'是一个数组。要输出一个数组,你可以使用'print_r()'或'var_dump()'。你也可以使用'implode()'将数组转换回字符串。 – MarcDefiant