我应该如何在php而不是MySQL交集中使用array_intersect函数?

时间:2014-02-20 05:39:16

标签: php mysql

我从php-MySQL中的几个sql短语得到了结果。 我的$ sql1和结果查询短语如下所示。

$sql1= "SELECT code_co.code, code_co.disease_co, code_en.disease_en, ds.ds_url 
 FROM code_co
 LEFT JOIN code_en ON code_en.code = code_co.code
 LEFT JOIN note ON note.code = code_co.code
 ...
 where condition
$result1=  mysqli_query($con,$sql1);

但我有9个sql查询短语,就像上面的代码一样。所选列在9 sql查询中是相同的。那是

$sql2= "SELECT code_co.code, code_co.disease_co, code_en.disease_en, ds.ds_url 
 FROM code_co
 LEFT JOIN code_en ON code_en.code = code_co.code
 LEFT JOIN note ON note.code = code_co.code
 ...
 where condition
$result2=  mysqli_query($con,$sql2);
...
$sql9= "SELECT code_co.code, code_co.disease_co, code_en.disease_en, ds.ds_url 
 FROM code_co
 LEFT JOIN code_en ON code_en.code = code_co.code
 LEFT JOIN note ON note.code = code_co.code
 ...
 where condition
$result9=  mysqli_query($con,$sql9);

最后我想获得9个结果的交集,但不支持MySQL。 所以我想通过php代码来解决这个问题。 那就是array_intersect()函数。 但我不知道如何使用它。

 while($row1= mysqli_fetch_array($result1))

 while($row2= mysqli_fetch_array($result2))
     ....
 while($row9= mysqli_fetch_array($result9))

$intersect = array_intersect($row1, $row2, $row3, $row4, ...., $row9);
print_r($intersect);
mysqli_close($con);
?>

没有错误消息,但没有显示任何内容。 我首先在此代码中使用array_intersect函数。 拜托,给我一个建议。 谢谢你的关注。

1 个答案:

答案 0 :(得分:1)

使用PHP进行操作将是致命的,并且是高资源消费者。如果您在所有大型查询之间使用as想要相交的关键字段中的条件进行INNER JOIN,那么您将直接找到您要查找的交叉点。

其他事情,可能没有显示任何内容,因为您没有向屏幕抛出任何错误,请检查系统和应用程序中的PHP错误配置,以便在开发过程中启用它们。

相关问题