【发布时间】:2017-07-04 13:47:43
【问题描述】:
我只想显示唯一的字符串,我有这个代码:
$sql = "SELECT tags FROM videos";
$result = mysqli_query($mysqli, $sql);
while ($rez = $result->fetch_assoc()) {
$array = array_filter(explode(',', $rez['tags']));
$array = array_unique($array);
foreach ($array as $value) {
$value = ltrim($value);
$value = str_replace(" ", "-", $value);
echo '<a href="http://example.com/' . $value . '">' . $value . '</a><br>';
}
}
我已将array_unique 设为这样:
$array = array_unique($array);
但它会返回:
word-word
word
word2
word3
word-word
它不只打印唯一值。怎么了?
【问题讨论】:
-
var_dump($rez['tags']);的结果是什么? -
您可以使用 SELECT DISTINCT 标签...这将为您提供一个独特的数据集。
-
SELECT DISTINCT 我做不到,因为在标签中,对于每个视频,我都有 tag1、tag2、tag3、tag4、tag5 ... @waterloomatt
-
var_dump($rez['tags']);它显示了所有标签和每个字符串之前的 nr @loko -
@user3266370 当您不规范化数据库时会发生这种情况。