gpt4 book ai didi

php - 两个表的数组之间的比较

转载 作者:行者123 更新时间:2023-11-29 14:04:55 24 4
gpt4 key购买 nike

我盯着这个看了好几个小时。我找不到错误。谁能告诉我我做错了什么?或者有更好的比较方法吗?

$res1=mysql_query(**query for table1**);
$n1=mysql_num_rows($res1);
$res2=mysql_query(**query for table 2**);
$n2=mysql_num_rows($res2);

for($i=0;$i<$n1;$i++)
{
$r1=mysql_fetch_row($res1);

for($j=0;$j<$n2;$j++)
{
$r2=mysql_fetch_row($res2);
if($r1[0]==$r2[0])
{
echo $r1[0]."<br>";
}
}
}

表 1 包含以下元素:1,2,3,16,18,19,20,21,22,24,23表 2 包含:23,21

但是,程序返回零个匹配项。为什么?

最佳答案

所以这里发生的是

  1. 您正确地循环了结果 1 的所有元素,但没有正确循环结果 2 的所有元素。

结果两个元素在第一次迭代中就耗尽了。

根据您发布的示例数据,这是循环:

当r1为1时,

r2 为 23,21

当r1为2时,

r2 已耗尽。

要再次重置结果二,您必须执行以下操作

mysql_data_seek($res2,0);每次

即你的 for 循环将如下所示

for($i=0;$i<$n1;$i++) {

$r1=mysql_fetch_row($res1);

mysql_data_seek($res2,0);
for($j=0;$j<$n2;$j++) {
$r2=mysql_fetch_row($res2);
if($r1[0]==$r2[0]) {
echo $r1[0]."<br>";
}
}
}

关于php - 两个表的数组之间的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14536038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com