Php 数组_diff是比较具有10000个条目的列的好方法吗?
我有两个表,我想使用Php 数组_diff是比较具有10000个条目的列的好方法吗?,php,Php,我有两个表,我想使用array\u diff比较这两个表的特定列。一列有10000多个条目,另一列最多有25个条目。正在将两列都提取到数组中,采用数组_差是比较它们的好方法,还是会太慢?如果有两个表,那么我假设这些表来自一个DB。您最好编写一个SQL查询来实现连接/差异,让DB来处理这个问题 遇到完全相同的 问题是,我真的希望 回答这里 所以,我必须找到自己的解决办法 并提出了以下几点建议 对我有用的乱七八糟的东西 大约50000个元素的数组。信息技术 根据你的观察 数组_intersect工作
array\u diff
比较这两个表的特定列。一列有10000多个条目,另一列最多有25个条目。正在将两列都提取到数组中,采用数组_差是比较它们的好方法,还是会太慢?如果有两个表,那么我假设这些表来自一个DB。您最好编写一个SQL查询来实现连接/差异,让DB来处理这个问题
遇到完全相同的
问题是,我真的希望
回答这里
所以,我必须找到自己的解决办法
并提出了以下几点建议
对我有用的乱七八糟的东西
大约50000个元素的数组。信息技术
根据你的观察
数组_intersect工作,但数组_diff
没有
这迟早也会发生
在中溢出资源限制
在哪种情况下,有必要
将数组分块并处理较小的数组
位。我们什么时候过那座桥
我们来了
代码:
function new_array_diff( $arraya, $arrayb )
{
$intersection = array_intersect( $arraya, $arrayb );
foreach( $arraya as $keya => $valuea )
{
if ( !isset($intersection[$keya]) )
{
$diff[$keya] = $valuea;
}
}
return $diff;
}
当你说“表”时,你是指数据库表吗?如果是这样,为什么不让数据库服务器工作而不是
array_diff
?因为我想比较并将其放入某个表的新列中…您仍然可以使用语句来执行此操作。在这种情况下,您为什么不:1<代码>从数据库中选择所有不匹配的行,2。使用PHP向用户显示它们,并显示一个表单,供用户选择要插入的内容,以及3<代码>插入新行。不需要array_diff()
。如果不知道表的名称,就很难做到这一点。但是您可能需要这样的内容:从table1`左连接table2
在table2
field1
=table1
field1
中选择*,其中table2
id
为空。这将返回来自
table1`的所有行,这些行没有匹配的
table2
行。我希望PHP这样做。我正在创建一个列表,其中包含两个表,比较列,然后询问用户是否将特定记录放在Db中。。。。而且在DB中是不可能的。。作为批准,所有这些都需要PHP来实现,您可以直接从DB获得不同的记录-这样您就不必将成千上万的记录添加到应用程序级别实际上我有歌曲主表和新专辑表。。现在我想批准专辑表列表是否放入歌曲邮件表。为此,获取数组中的两列,然后请求版主批准。请告诉我是否有其他使用Db查询的解决方案。给我那个查询。给我们你的表的结构,告诉我们你想要基于哪些列的相交。我希望数组\u interact不会减慢这个过程。。5万条