gpt4 book ai didi

php - : Duplicate values in array when query is run 的问题

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

当我运行下面的查询时,我不断获得两次值。该数组包含 [1,2,1,2] 并且它应该仅包含值 [1,2]。有人可以向我解释为什么我会得到重复的值吗?

$grusnro = 0;

while (!empty($grus[$grusnro ]))
{
$catid="SELECT cat_id FROM catgroup WHERE group_id='$grus[$grusnro]'";
$catidsult=mysql_query($catid);

while($grunamerow = mysql_fetch_array($catidsult, MYSQL_ASSOC))
{
$catgroup[]=$grunamerow['cat_id'];
}

$grusnro = $grusnro +1;
}

当我从命令行运行时,我得到结果[1,2]。我已经检查过 group_id 值在 $grus 数组中仅出现一次。那么为什么会重复呢?

最佳答案

我建议您使用这个简化版本的代码,它的性能会更好:

$catgroup = array(); //Making sure $catgroup is an empty array
if(!empty($grus)) {
//Fetch all groups in the same query
$grusids = implode("','", $grus);
$catid = 'SELECT DISTINCT cat_id FROM catgroup WHERE group_id IN(\''.$grusids.'\')';
$catidsult = mysql_query($catid);
while($grunamerow = mysql_fetch_array($catidsult, MYSQL_ASSOC))
{
$catgroup[] = $grunamerow['cat_id'];
}
}

请注意在 SQL 中使用 DISTINCT 关键字来仅获取唯一的 cat_ids。

关于php - : Duplicate values in array when query is run 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6056290/

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