gpt4 book ai didi

php - 如何检查数组中的值是否存在于表中

转载 作者:行者123 更新时间:2023-11-29 21:07:14 25 4
gpt4 key购买 nike

我有一个来自函数的组合列表;我有一个数组

$new_array=array(5 random values);


$new_array = array(); // create a new array
$sql=mysql_query("SELECT * FROM animate ORDER BY RAND() LIMIT 5") or die("query Field");

while($row=mysql_fetch_array($sql)){

$new_array[] = $row['code'];

}

假设我的数组中有这些值

$new_array=array('a','c','d','e','t','s');

我有来自函数的所有可能的排列。

现在我想知道这些排列是否存在于表中。我尝试过选择查询但失败了。

下面给出了我的排列函数

function pc_permute($items, $perms = array()) {
if (empty($items)) {
echo join(' ', $perms) . "<br />";
} else {
for ($i = count($items) - 1; $i >= 0; --$i) {
$newitems = $items;
$newperms = $perms;
list($foo) = array_splice($newitems, $i, 1);
array_unshift($newperms, $foo);
pc_permute($newitems, $newperms);
}
}
}

$arr = $new_array;
$a=count(pc_permute($arr));

我被卡住了,我从过去 3 个小时开始尝试但失败了,我想检查这些排列是否存在于 mysql 表中。

最佳答案

由于所有值都是唯一的,因此有一个解决方案可能适合您的需求。查询是:

select * from YOURTABLE where
VALUE like '%$val1%'
and VALUE like '%$val2%'
and VALUE like '%$val3%
etc...

假设您有一个名为 $new_array 的数组,它有 5 个索引。您可以使用查询:

$query = "select * from words where
lemma like '%".$new_array[0]."%'
and lemma like '%".$new_array[1]."%'
and lemma like '%".$new_array[2]."%'
and lemma like '%".$new_array[3]."%'
and lemma like '%".$new_array[4]."%'
and lemma like '%".$new_array[5]."%'";

因为您没有在问题中说明,所以我不知道表的实际名称或列的实际名称是什么。我也不知道如何获取 $new_array 数组的 5 个随机值。

您要求的是一个值,其中包含您从函数中获得的每个元素。无论排列如何,它将获得所有值。我假设您已经具备使用数组索引而不是 $val1、$val2 等编写查询的技能。如果没有,请询​​问。

这里的明显优势是您不必计算所有排列,也不必发送多个查询。

关于php - 如何检查数组中的值是否存在于表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36701270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com