gpt4 book ai didi

php - array_unique 导致 undefined offset 错误

转载 作者:行者123 更新时间:2023-12-02 01:15:56 24 4
gpt4 key购买 nike

我一直在尝试使用 array_unique 从我填充的搜索结果中删除重复项。但是,我收到 undefined offset 错误。我想知道是否有人知道导致此错误的原因以及我可以做些什么来解决它?正如您在下面看到的,我正在填充来自两个不同位置的搜索结果,并试图将所有匹配项合并到一个数组中。

在 array_unique 之前:数组([0] => Bob Marley Footwear [1] => Bob Marley Footwear [2] => DVS Shoe Co.)

array_unique 之后:数组([0] => Bob Marley Footwear [2] => DVS Shoe Co.)

注意:这会导致在遍历数组时尝试访问数组槽 1 以打印结果时出现错误消息。

    $results = mysql_query("SELECT keywords,name FROM files WHERE MATCH (keywords,name) AGAINST ('$searchfor')") or die(mysql_error());


$matches=Array();
$matches_final=Array();

while($row = mysql_fetch_array($results)){
$matches[] = $row['name'];
}
$matches_final = array_unique($matches);

$results1 = mysql_query("SELECT name FROM files");
while($row1 = mysql_fetch_array($results1)){
$temp = explode(" ", $row1['name']);

for($z=0; $z < sizeof($search_words); $z++){
for($i=0; $i < sizeof($temp); $i++){
if(((strcmp(strtolower($search_words[$z]), strtolower($temp[$i])))==0) and strlen($search_words[$z])<=5){
$matches_final[] = $row1['name'];
}
}
}
}


return $matches_final;

最佳答案

我想首先建议您在查询中使用 DISTINCT(name) 以消除对 array_unique 的需要。

错误是由于 array_unique 删除了一个元素而不是重新键入数组。您可以在将阵列返回到 key 更新之前对阵列执行 array_values

关于php - array_unique 导致 undefined offset 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11278514/

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