从While循环中的最后一个值中删除逗号

时间:2018-01-30 13:54:04

标签: php

在提出这个问题之前,我想声明我之前已经检查了很多答案,但是仍然无法得到解决方案。 我的主要动机是从数组的最后一个值中删除逗号',' PHP

$Followingcount = mysqli_query($con,"SELECT * from followers where follower_id = '$idnow'");
     if (mysqli_num_rows($Followingcount) > 0) {
    while ($ids = mysqli_fetch_assoc($Followingcount)) {
     $followedids = $ids['acc_id'].',';
     $array = array($followedids);
     $arraystr = implode("','",$array);
}}

如果我回显$ followerdids,结果就像这样:逗号,如:5,7,8,
要删除最后一个值的逗号,我试图将值放在一个数组中然后我将其内爆 当我回显$ arraystr时,它仍然包含最后一个值的逗号 任何帮助将不胜感激

4 个答案:

答案 0 :(得分:3)

您只需要:

$followedIds = [];

$followingCount = mysqli_query($con,"SELECT * from followers where follower_id = '$idnow'");
while ($ids = mysqli_fetch_assoc($followingCount )) {
     $followedIds[] = $ids['acc_id'];
}

echo implode(',', $followedIds);

...并注意SQL注入

答案 1 :(得分:2)

您可以使用rtrim删除while循环后的最后一个逗号。

scale = 6;

答案 2 :(得分:2)

您的问题的解决方案非常简单。有一个名为rtrim()的函数,它会删除右侧的所有字符。

$followedids = rtrim($followedids, ',');

还有一个trim()函数,它在两侧都是相同的,ltrim()在左侧执行。

答案 3 :(得分:1)

您可以使用substr - 函数(更多信息here

最后一个参数是你想要的子字符串的长度,但你也可以使用负值,这意味着“删除这么多字符”,在你的情况下:1。

在你的情况下:

$followedids = substr($followedids, 0,-1);