内爆时重复PHP数组中的第一个值

内爆时重复PHP数组中的第一个值,php,mysql,sql,arrays,Php,Mysql,Sql,Arrays,例如,如果查询结果包含3行用户ID,则应显示以下内容:21、20、44 它应该显示:21、20、44 但相反,它显示:2121、20、44 查看它如何首先显示第一个值 另一个例子:50,60,70 但它显示:5050、60、70 有办法解决吗?提前感谢您正在循环中打印结果,这就是为什么会发生这种情况。首先数组中有21个,然后是21、20等等。在循环外打印它。尝试- $sql = "SELECT * FROM `likes` WHERE `pid` = $pid";

例如,如果查询结果包含3行用户ID,则应显示以下内容:21、20、44

它应该显示:21、20、44 但相反,它显示:2121、20、44 查看它如何首先显示第一个值

另一个例子:50,60,70 但它显示:5050、60、70


有办法解决吗?提前感谢

您正在
循环中打印结果,这就是为什么会发生这种情况。首先数组中有21个,然后是21、20等等。在循环外打印它。尝试-

$sql = "SELECT *
        FROM `likes`
        WHERE `pid` = $pid";

$result = $conn->query($sql);

if ($result->num_rows > 0) {

$likers = array();

while($row = $result->fetch_assoc()) {
    $likers[] = $row['uid'];
    echo implode(", ", $likers);
}

} else {
    return "Be the first to like this status...";
}

工作得很好!谢谢:-)
while($row = $result->fetch_assoc()) {
    $likers[] = $row['uid'];    
}

echo implode(", ", $likers);