2016-06-08 126 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+。