这是我第一次发布在这里,虽然我已经得到了许多伟大的技巧和技巧阅读这里的帖子。array_intersect内foreach循环
这里是我的目标:
我有2个有点类似的表进行比较。对于每个表的每一行,我都将我想要的字段拖入数组中。
我基本上想要从其他数组中具有匹配值的表中回显出任何数组的值。
这是我的代码,也许它会更容易理解。
$sql = "SELECT * FROM $i_comp ORDER BY `manufacturer`";
$statement = $objDb->query($sql);
$c_skus = $statement->fetchAll(PDO::FETCH_ASSOC);
$sql = "SELECT `sku_one`,`sku_two`,`qty`,`manufacturer`";
$sql .= "FROM $i_gas ORDER BY `manufacturer`";
$statement = $objDb->query($sql);
$d_skus = $statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($c_skus as $c_sku) {
// i want to see if any values of this array exist in the array created hy
// the foreach loop below (yes, repeat for each row)
$c = array($c_sku['sku'],$c_sku['sku_one'],$c_sku['sku_two'],$c_sku['sku_three']);
foreach ($d_skus as $d_sku) {
$d = array($d_sku['sku_one'],$d_sku['sku_two']);
$intersect = array_intersect($c, $d);
echo '<pre>', print_r($intersect), '</pre>';
}
}
下面是我收到的代码每次迭代的结果:
Array
(
)
1
还应当指出的是,我不关心的钥匙,只是价值观。最终,这些值将被用于INSERT语句中,但目前我只需要获得正确的结果。
无论如何,感谢任何和所有的帮助!
你问你该如何处理输出? – thescientist
如果我们理解你的逻辑肯定是可以用SQL – Baba
完成的事情,那么我真的认为你应该为这个任务使用SQL连接语句,除非你需要你的问题中没有提到的东西。 – Sven