0

我有这个 PHP 代码,它从数据库中选择并用数据创建一个数组

$sql="SELECT * from voip_emergency_services_data ";
$rs=mysql_query($sql,$conn) or die(mysql_error());
if(mysql_num_rows($rs) > 0)
{
    while($result=mysql_fetch_array($rs))
    {
        $ListData1[] = $result["number"];
    }
}

这个在不同的表上做同样的事情,也连接到不同服务器上的不同数据库

$sql="SELECT * from channel_did ";
$rs=mysql_query($sql,$pbx01_conn) or die(mysql_error());
if(mysql_num_rows($rs) > 0)
{
    while($result=mysql_fetch_array($rs))
    {
        $ListData2[] = $result["did"];
    }
}

如何匹配两个数组中的数据,然后显示不匹配的内容

例如,表中的每一行应根据列和列与表channel_did中的行匹配voip_emergency_services_datadidnumber

4

2 回答 2

1

基于这个问题,这给出了 1 中的内容而不是 2 中的内容以及 2 中的内容而不是 1 中的内容:

$notIn1 = array_diff($ListData2, $ListData1);
$notIn2 = array_diff($ListData1, $ListData2);

echo implode(',', $notIn1) . ' are in list 2 but not 1';
echo implode(',', $notIn2) . ' are in list 1 but not 2';

foreach($notIn1 as $value) {
    echo "$value is not in list 1";
}
于 2013-10-31T20:33:55.680 回答
0

您可以使用几个函数来解决这个问题。

array_diff($array1,$array2)将查找 $array1 中但不是 $array2 中的所有项目。

array_intersect($array1,$array2)将查找 $array1 和 $array2 中的所有项目。$array1 将是被比较的主对象,因此 array2 可以包含不在 $array1 中的项目。

于 2013-10-31T20:35:56.213 回答