删除foreach最后一个逗号PHP

时间:2016-06-08 19:24:33

标签: php

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

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

$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

我已经阅读了许多与此相关的帖子但是,我无法使其正常工作而且我没有得到它。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:5)

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

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

echo implode(',', $output);

答案 1 :(得分:3)

我只是采取功能性方法:

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

请注意,array_column()需要PHP 5.5 +。