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 に答える