id | tags
1 | photo article
2 | blog article
3 | blog
4 | logs
5 | photo article
6 | comment article
如何让所有words
从tags
取消重复?
我要打印photo article blog logs comment
。
答案 0 :(得分:3)
$array = array();
foreach ($results as $row) {
foreach (explode(' ', $row['tags']) as $word) {
$array[$word] = $word;
}
}
答案 1 :(得分:1)
tags
似乎是布局中以空格分隔的实际标记列表。使用SELECT DISTINCT
或array_unique()
可能会产生与您的表中条目相同的结果。
这段代码可以为您带来独特的结果:
$q = mysql_query('SELECT `tags` FROM `table`');
$unique = array();
while (FALSE !== ($row = mysql_fetch_assoc($q)))
{
$tags = explode(' ', $row['tags']);
foreach ($tags as $tag)
{
$unique[$tag] = 1;
}
}
mysql_free_result($q);
结果是array_keys()
的{{1}}。
这可能会解决您的问题。虽然我建议您重新考虑您的设计并更改表格布局,以允许一个$unique
与id
建立一对多的关系。
答案 2 :(得分:0)
SELECT DISTINCT
不包含任何重复的SQL结果
答案 3 :(得分:-1)
我认为你要找的是MySQL中的GROUP BY运算符。您可以像这样使用它:
SELECT * FROM xxx GROUP BY tags