【问题标题】:Duplicate First Value in PHP Array when Imploding内爆时PHP数组中的第一个值重复
【发布时间】:2015-04-05 03:28:22
【问题描述】:
$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...";
}

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

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

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

有什么办法解决吗?提前致谢

【问题讨论】:

    标签: php mysql sql arrays


    【解决方案1】:

    您正在while 循环内打印结果,这就是它发生的原因。首先数组中会有21,然后是21、20等等。在循环外打印出来。试试用-

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

    【讨论】:

    • 完美运行!谢谢你:-)
    猜你喜欢
    • 2013-12-15
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 2019-07-26
    • 2013-07-07
    • 2015-03-25
    相关资源
    最近更新 更多