我尝试使用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 . '",';
}
}
}发布于 2017-01-18 15:17:03
试试这段代码。
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);
}发布于 2017-01-18 14:53:14
您必须将查询中的所有标签放入一个数组中。因此,使用您现有的代码:
// $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 ifhttps://stackoverflow.com/questions/41709401
复制相似问题