我有以下代码,它返回两个关联数组(两者都是 SQL 查询结果)。它应该迭代地将 tableA 中的值与 tableB 中的值进行比较,并确认 A 中的值在 B 中。就目前情况而言,它返回部分结果,而结果的另一部分为 null(并且结果中的值不应为空)。
- 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_diff_assoc()
might do what you need 。它应该返回两个数组中存在的所有键 > 值。
关于PHP fetch_assoc 返回值,循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28676033/