我有两个数组。在一个数组中,我存储一张表中的数据。我将另一个表中的数据存储在另一个数组中。我想比较两个数组的数据。如果第一个数组的数据在第二个数组中,我想继续。我该如何执行此操作?
我尝试了以下代码,但它没有工作,尽管 array1 数字存在于 array2 中:
$x = "SELECT * FROM table1";
$data1 = mysqli_query($link, $x);
$dat1 = array()
while($row1= mysqli_fetch_array($data,MYSQLI_ASSOC))
{
$dat1[] = $row1;
$f1 = $row1['fid'];
}
$y = "SELECT * FROM table2";
$data2 = mysqli_query($link, $y);
$dat2 = array()
while($row2= mysqli_fetch_array($data2,MYSQLI_ASSOC))
{
$dat2[] = $row2;
$f2 = $row2['fid'];
}
if(in_array($dat1,$dat2))
{
// if exists proceed
}
else
{
// if not show error
}
最佳答案
这可以通过 SQL 来完成。
检查 table1 中的所有 fids 是否都在 table2 中:
SELECT COUNT(a.fid) FROM table1 AS a WHERE a.fid IN (SELECT b.fid FROM table2 AS b)
SELECT COUNT(*) FROM table1
如果两个值相等,那么table1中的所有fids都在table2中。
关于php - 如何比较从数据库中检索的两个数据数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24604771/