0

だから私は興味深い問題を抱えています。いずれかの結果が一致するかどうかを確認するために比較したいuserIdとcontractIdの2つの配列があります。次に、一致しないものだけを表示します。どんな助けでもいただければ幸いです。

//select all users and contracts possibilities
$rQ = "SELECT users.userId AS userId, cId AS contractId, name, cTitle FROM contracts, users WHERE users.roleId = contracts.roleId ORDER BY users.userId ASC ";
$rR = mysql_query($rQ);
$a = mysql_fetch_assoc($rR);

//selects current signatures in signatures table
$rQ1 = "SELECT userId, contractId FROM signatures ORDER BY userId ASC ";
$rR1 = mysql_query($rQ1);
$a1 = mysql_fetch_assoc($rR1);

例:if

$a['userId'] != $a1['userId'] && $a['contractId'] != $a1['contractId']

それから

echo $a['name'] . $a['cTitle'] 
4

2 に答える 2

1

array_diff()http://php.net/manual/en/function.array-diff.phpを使用すると、配列の違いを比較するのに便利で、配列2にない結果のリストが配列1に返されます。逆に実行すると、親配列の1つにのみ表示され、他の配列には表示されない2つのアイテム配列が作成されます。

次に、配列マージを実行して、どちらにも含まれない用語の1つの全体的な配列を取得できます。

于 2013-03-14T15:56:37.733 に答える
0

PHPを使用する必要がある場合は、次のことを実行できます。

foreach($a as $value ){

    if(!in_array($value,$a1)){
         $value1 = array_search($value,$a1);
        if(($value['userId']!=$value1['userId']) && (($value['contractId']!=$value1['contractId']) ))
            print_r($value);

}
于 2013-03-14T15:57:45.343 に答える