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