我有以下代码,但是,array unique 根本不起作用,我不知道为什么?
查询中的 group by 或 distinct 已被使用,但是,数据为每个主题提取了多个记录,然后我将其删除并实际上使它们不唯一,例如
我可能正在查看 DVD 标题表并返回这些结果:
Goodfellas - 2010 remaster
Goodfellas (2006)
Goodfellas: 2011 remastered remaster of a remaster from last year
我只想向用户显示标题,所以我去掉了第一个非字母/数字字符后的所有内容,然后是 trim(),从而生成了单词 Goodfellas
的 3 个实例
这是代码:
$query = "SELECT title FROM PRprodINFO2 WHERE ((prodcatID = '$cat_id') AND (title LIKE \"%" . $_GET["q"] . "%\")) group by title LIMIT 8";
$result = mysql_query($query);
$output_items = array();
while($row = mysql_fetch_array($result)) {
$output_items[] = $row[$title];
} // end while
// remove non characters
$output_items = preg_replace('/[^\w\s].*$/', "", $output_items);
$output = array_unique($output_items);
print(implode("\n", $output));
mysql_close();
最佳答案
你没有修剪它们!试试这样:
$output_items = preg_replace('/[^\w\s].*$/', "", $output_items);
$output_items = array_map('trim', $output_items);
$output = array_unique($output_items);
print(implode("\n", $output));
关于php - array_unique 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8784568/