繁体   English   中英

如何删除重复项 php array_unique 不起作用

[英]how to remove duplicates php array_unique not working

我尝试使用array_unique(); 但不起作用这是我的代码请帮我做错什么? 我想显示没有重复的所有标签

ID | TAGS
1 | rock, punk, jazz
2 | pop, rock, classic
3 | jazz, blues, rock
4 | rock, rap, metal

$wynik = mysql_query("SELECT * FROM nabk_t_item_tags") or die('Błąd zapytania');
if (mysql_num_rows($wynik) > 0) {
    while ($r = mysql_fetch_assoc($wynik)) {
        $input = $r['tags'];
        $fields = explode(',', $input);
        $fields2 = array_unique($fields);
        foreach ($fields2 as $field) {
            echo '"' . $field . '",';
        }
    }
}

您必须将查询中的所有标签放在一个数组中。 因此,使用您现有的代码:

// $fields2 = array_unique($fields);
$fields2 = array_merge($fields2, $fields);

然后在 while 循环之后, $fields2将拥有所有标签,您可以使用 array_unique 该数组。 因此,添加这些行并查看结果:

    } // end while
    $unique_tags = array_unique($fields2);
    var_dump($unique_tags);
} // end if

试试这个代码。

if (mysql_num_rows($wynik) > 0) {
    $used=array();
    while ($r = mysql_fetch_assoc($wynik)) {
        $input = $r['tags'];
        $fields = explode(',', $input);
        foreach($fields as $tg){
            if(!isset($used[$tg])){
                echo '"' . $tg . '",';
                $used[$tg]=" ";
            }   
        }
    }
    unset($used);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM