我有这个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_data
列中的一行基于did
列和number
列
答案 0 :(得分: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";
}
答案 1 :(得分:0)
您可以使用一些可以解决此问题的功能。
array_diff($array1,$array2)会找到$ array1但不是$ array2的所有项目。
array_intersect($array1,$array2)将找到$ array1和$ array2中的所有项目。 $ array1将是要比较的主数据,因此array2可以包含不在$ array1中的项。