Php 如何按另一个数组中不存在的记录筛选一个数组中的记录?

Php 如何按另一个数组中不存在的记录筛选一个数组中的记录?,php,laravel,Php,Laravel,我有两个结果集: $array1 = (0=>'name1',1=>'name2'); 及 我想循环遍历array2并消除array1中确实存在的任何记录 由于某些原因,我无法使用此语法: select * where not in(select ....) 对于具有多个键字段的SQLselect,可以使用以下语法 SELECT * FROM CompletedTasks WHERE (userID, taskID) NOT IN ( SELECT userID, t

我有两个结果集:

$array1 = (0=>'name1',1=>'name2');

我想循环遍历array2并消除array1中确实存在的任何记录

由于某些原因,我无法使用此语法:

select * where not in(select ....)

对于具有多个键字段的SQL
select
,可以使用以下语法

SELECT *
FROM CompletedTasks
WHERE (userID, taskID) NOT IN
      ( SELECT userID, taskID
        FROM PlannedTasks
      ) ;

对于具有多个键字段的SQL
select
,可以使用以下语法

SELECT *
FROM CompletedTasks
WHERE (userID, taskID) NOT IN
      ( SELECT userID, taskID
        FROM PlannedTasks
      ) ;

有很多方法可以解决这个问题

可以将两个数组合并为一个数组,然后使用来过滤重复的值

另一种方法是仅返回array2上而不是array1上的唯一值

我会像这样使用
array\u diff

这就是我得到的

$array1=['name1','name2','name2','name2','name3'];
$array2=['name'、'name1'、'name2'、'name4'、'姓氏'、'name3'、'姓氏2'];
变量转储(数组差异($array2,$array1));
数组(3){[0]=>string(4)“name”[3]=>string(5)“name4”[4]=>string(7)“姓氏”}

有很多方法可以解决这个问题

可以将两个数组合并为一个数组,然后使用来过滤重复的值

另一种方法是仅返回array2上而不是array1上的唯一值

我会像这样使用
array\u diff

这就是我得到的

$array1=['name1','name2','name2','name2','name3'];
$array2=['name'、'name1'、'name2'、'name4'、'姓氏'、'name3'、'姓氏2'];
变量转储(数组差异($array2,$array1));
数组(3){[0]=>string(4)“name”[3]=>string(5)“name4”[4]=>string(7)“姓氏”}

如果您的
有问题,请选择。。。不在…
,发布您的代码,也许我们可以帮助解决这个问题。问题是主键是multi-fields键如果您使用的是Laravel,并且需要SQL查询来执行此操作,那么您没有正确使用Elount。。。你能解释一下你正在使用和试图做什么(模型)吗?如果你的
选择有问题,我将使用laravel和oracle数据库。。。不在…
,发布您的代码,也许我们可以帮助解决这个问题。问题是主键是multi-fields键如果您使用的是Laravel,并且需要SQL查询来执行此操作,那么您没有正确使用Elount。。。你能解释一下你在使用什么和试图做什么(模型)吗?我在使用laravel和oracle dbi不能这样做,因为问题是laravel查询结果数组看起来不一样。我不能这样做,因为问题是laravel查询结果数组看起来不一样