从输入字符串中删除所有重复项


Remove all duplicates from input string

插入之前,我正在尝试从标记输入字符串中删除重复条目它们放入数据库中,但我的代码出现了问题。标签是分开的在本例中使用逗号。

form.html

<input type="text" name="tags[usage]" value="{$smarty.post.tags.usage|escape}" />

items.class.php

require_once ROOT_PATH.'/modules/tags.class.php';
$tagsClass = new tags();
foreach($_POST['tags'] as $type=>$tags) {
    $arr = explode(',', $tags);
    foreach($arr as $tag) {
        $tag = trim($tag);
                $tag = array_unique($tag); 
        if($tag != '') {
            $tagID = $tagsClass->getTagID($tag);
            $mysql->query("
                INSERT INTO `items_tags` (
                    `item_id`,
                    `tag_id`,
                    `type`
                )
                VALUES (
                    '".intval($itemID)."',
                    '".intval($tagID)."',
                    '".sql_quote($type)."'
                )
            ");
        }
    }
}       

如果有任何帮助,我将不胜感激。

您将在_POST变量中获得一个逗号分隔的字符串,并将其放入行

foreach($_POST['tags'] as $type=>$tags) 

尝试以下代码

$new_array = explode(",", $_POST['tags']);
$new_array = array_unique($new_array);
foreach ($new_array as $value){
//Your code
}