Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP实现重复数据消除_Php_Mysql_Deduplication - Fatal编程技术网

使用PHP实现重复数据消除

使用PHP实现重复数据消除,php,mysql,deduplication,Php,Mysql,Deduplication,我有一个包含以下条目的表: 123 (DVD) 123 [DVD] [2007] 125 [2009] 189 (CD) 当我在“自动完成”字段中向用户显示这些内容时,我会删除()或[]之间的任何内容,因为这些内容不相关,但是,正如您从上面的列表中看到的,这给我留下了两个123的条目,它们出现在下拉列表中。。。是否有进一步抑制重复项的方法?有时可能有多达5或6个看起来至少是错误的!代码如下: // db select $query = "SELECT $title FRO

我有一个包含以下条目的表:

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));
非常感谢函数
array\u unique()
从数组中删除重复值,在您的例子中是
$output\u items
数组


看一看

您可以使用
array\u unique(array$array)
在内爆之前删除所有重复项