我有以下代码,但是,数组唯一不起作用,我不明白为什么?
已经使用了查询的分组或不同的分组,但是,数据为每个主题提取了几条记录,然后我将其删除,实际上使它们不唯一,例如。
我可能正在查看DVD标题表并返回这些结果:
Goodfellas - 2010 remaster
Goodfellas (2006)
Goodfellas: 2011 remastered remaster of a remaster from last year
我只想向用户显示标题,因此我在第一个非字母/数字字符后删除所有内容,然后修剪(),从而生成单词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();
答案 0 :(得分:3)
你没有修剪它们!试试这个:
$output_items = preg_replace('/[^\w\s].*$/', "", $output_items);
$output_items = array_map('trim', $output_items);
$output = array_unique($output_items);
print(implode("\n", $output));
答案 1 :(得分:1)
只需使用:
$array = array_unique($array, SORT_REGULAR);