Php 从列表中有条件地删除
想象一下,如果有两个列表,并且这两个列表有一些相似的项。 我想要第三个列表,其中删除前两个列表之间共享的所有项目 因此,list1.txt: 苹果 梨 公共汽车 list2.txt: 苹果 梨 输出:Php 从列表中有条件地删除,php,regex,Php,Regex,想象一下,如果有两个列表,并且这两个列表有一些相似的项。 我想要第三个列表,其中删除前两个列表之间共享的所有项目 因此,list1.txt: 苹果 梨 公共汽车 list2.txt: 苹果 梨 输出: 总线您可以这样做: // read both files into an array (each line is an element) $list1 = file("list1.txt", FILE_IGNORE_NEW_LINES); $list2 = file("list2.txt", FI
总线您可以这样做:
// 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));
$arr_result = array_unique( array_merge($arr_1, $arr_2) );
假设我们有以下文件:list1.txt
apple
pear
bus
pear
apple
banana
list2.txt
apple
pear
bus
pear
apple
banana
然后输出如下所示:(print\r($not\u shared)
)
您可以这样使用:
// 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));
$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\u r()
或var\u dump()
。您还可以使用内爆()
将数组转换回字符串。