在提出这个问题之前,我想声明我之前已经检查了很多答案,但是仍然无法得到解决方案。
我的主要动机是从数组的最后一个值中删除逗号','
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时,它仍然包含最后一个值的逗号
任何帮助将不胜感激
答案 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, ',');
答案 3 :(得分:1)
您可以使用substr
- 函数(更多信息here)
最后一个参数是你想要的子字符串的长度,但你也可以使用负值,这意味着“删除这么多字符”,在你的情况下:1。
在你的情况下:
$followedids = substr($followedids, 0,-1);