我有两个数组
一个喜欢
1 | 1st name 2 | 2nd name 3 | 3rd name 4 | 4th name
和一个像
1st name 2nd name 3rd name 4th name 5th name 6th name 7th name
基本上我想要交叉这些数组
我需要对这些数组进行交互,所以我最终得到的第二个数组只是
5th name 6th name 7th name
我将如何做到这一点?
答案 0 :(得分:1)
您所描述的内容更像diff。如果您的数组的值看起来与您描述的完全相同,则必须首先将其解析为临时数组,因此您最终会在要扩散的两个数组中获得确切的数据形式。
答案 1 :(得分:0)
如果两个数组都已经排序,那么这是一项简单的工作: 在第一个数组中搜索第二个数组的“i”元素,而firt中的“j”元素是“更小”(看看strcmp)。如果你找到它,那么你转到下一个“i”元素,如果你没有把你的“i”元素放在第三个数组中。然后继续下一个“我”; 如果它没有排序,你可以考虑先排序;如果您选择不对它们进行排序,则必须对数组1中数组2中的每个项进行线性搜索。
我不清楚你的阵列是怎样的。如果它们与你所写的一模一样,你必须先解析它们,就像Ondrej所说的那样。
答案 2 :(得分:0)
实际上,您可以使用PHP原生的array_diff函数: