我有一个包含以下条目的表:
123 (DVD)
123 [DVD] [2007]
125 [2009]
189 (CD)
当我在自动填充字段中向用户显示这些内容时,我会删除()或[]之间的任何内容,因为这些不相关,但是,正如您从上面的列表中看到的那样,这留下了两个条目出现在下拉列表中的123 ...无论如何还要进一步抑制重复?有时可能会有多达5或6个看起来错误的说法至少!代码如下:
// db select
$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 loop to print results
while($row = mysql_fetch_array($result)) { $output_items[] = $row[$title]; }
$output_items = preg_replace('/\[.*?\]|\s*/', '', $output_items); // remove [blah]
$output_items = preg_replace('/\(.*?\)|\s*/', '', $output_items); // remove (blah)
print(implode("\n", $output_items));
非常感谢
答案 0 :(得分:1)
array_unique()
函数从数组中删除重复值,在您的情况下是$output_items
数组。
答案 1 :(得分:0)
您可以使用array_unique ( array $array )
删除所有重复项。