0
我有下面的代码,返回两个关联数组(这两个都是SQL查询结果)。它应该迭代地将tableA中的值与tableB中的值进行比较,并确认A中的值是否在B.现在,它返回结果的一部分,结果的另一部分为null(以及结果中的值不应为空)。PHP fetch_assoc返回值,循环
- COLUMNNAME是用于查询
列名y是我的柜台
while($tableA = $resultA -> fetch_assoc()) { $tableB = $resultB -> fetch_assoc(); $testA[] = $tableA; $testB[] = $tableB; $value = $testA[$y]; $array = $testB[$y]; //var_dump($value); //var_dump($array); //echo "Value[y]: ".$testA[$y]."\n"; echo $value['$columnName']."\n"; if(in_array($value['$columnName'], $testB)) { echo $columnName.": ".$value["$columnName"]." PASS, A in B\n"; //echo $value["$columnName"]."\n"; } else { echo $columnName.": ".$value["$columnName"]." FAIL, A in B\n"; //echo "FAIL\n"; } $y++; }
没有任何人有任何建议如何解决这一问题?谢谢。
痛苦的...为什么不在单独的循环中获取两个结果集,然后[array_intersect()](http://php.net/array_intersect)它们呢?原因是,你的代码将失败以捕获存在于'B'集合中的任何项目,但尚未被提取,因为用完'A'中的东西。 – 2015-02-23 14:36:40