2016-06-08 201 views
1

如何从foreach()循环的输出中删除最后一个逗号?删除foreach最后一个逗号PHP

有人可以帮我修改这段代码。

$sth = $dbh->query('SELECT * FROM `stage5` ORDER BY `stage5`.`lenght` DESC'); 
$sth->setFetchMode(PDO::FETCH_ASSOC); 
$result = $sth->fetchAll(); 

foreach($result as $r) { 
    echo $r['lenght'], ","; 
}   

这将打印
105.4,102.1

我已阅读与此相关的很多职位
105.4,102.1,

下面是正确的,但我不能让它工作,我不明白它。任何帮助表示赞赏!

+0

是的,我确实知道还有其他帖子,但作为PHP的初学者,我尝试了很多选项并使用谷歌搜索,但没有得到它的工作。所以我发布了我的实际代码。 –

回答

4

解决此问题的一种方法是不回显foreach循环中的逗号。将要回显的数据放入数组中,然后使用implode

$output = array(); 
foreach($result as $r) { 
    $output[] = $r['lenght']; 
} 

echo implode(',', $output); 
+0

Upvoted为最兼容的解决方案。 – cyberbit

3

,我只想拿一个功能的方法:

<?php 
$result = $sth->fetchAll(); 
echo implode(',', array_column($result, 'length')); 

注意array_column()需要PHP 5.5+。