假设我在名为 $foo 的 php 数组中有一个包含几百个条目的字符串数组,并且我有一个 MySQL 表“people”,它有一个名为“name”的字段,其中包含几千个条目。在不提交对 $foo 中的每个字符串的查询的情况下,找出 $foo 中哪些字符串不是 'people' 条目中的 'name' 的有效方法是什么?
所以我想找出 $foo 中的哪些字符串尚未输入到“people”中。
请注意,很明显,所有数据都必须一次出现在一个盒子上。这样做的目标是同时最大限度地减少查询次数和 php 处理量。
最佳答案
CREATE TEMPORARY TABLE PhpArray (name varchar(50));
-- you can probably do this more efficiently
INSERT INTO PhpArray VALUES ($foo[0]), ($foo[1]), ...;
SELECT People.*
FROM People
LEFT OUTER JOIN PhpArray USING (name)
WHERE PhpArray.name IS NULL;
关于php - 如何使用 MySQL 表过滤 php 数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/220432/