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


Duplicate First Value in PHP Array when Imploding

$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...";
}

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

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

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

有什么方法可以解决吗?提前致谢

您正在while循环中打印结果,这就是它发生的原因。首先数组中有 21 个,然后是 21、20 个,依此类推。在循环外打印。尝试使用 -

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