2016-06-08 16 views
1

Wie letzte Komma aus der Ausgabe einer foreach()-Schleife zu entfernen?Entfernen foreach letzten Komma PHP

Kann jemand bitte helfen, diesen Code für mich zu ändern.

$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'], ","; 
}   

Dieser druckt
105.4,102.1,

würde Unten richtig sein
105.4,102.1

ich viele Beiträge im Zusammenhang mit diesem gelesen haben, aber ich nicht bekommen kann es zu arbeiten und ich nicht bekommen, es. Jede Hilfe wird geschätzt!

+0

Ja, ich wusste, dass es andere Posts gibt, aber als Anfänger mit PHP habe ich viele Optionen ausprobiert und gegoogelt, aber es hat nicht funktioniert. Also habe ich meinen aktuellen Code auf Frage gepostet. –

Antwort

4

Eine Möglichkeit, dies zu lösen, besteht darin, die Kommata in der foreach-Schleife nicht auszugeben. Legen Sie die Daten, die Sie widerhallen möchten, in ein Array und verwenden Sie dann implode.

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

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

Upvoted für die meisten kompatiblen Lösung. – cyberbit

3

Ich würde nur einen funktionalen Ansatz:

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

Beachten Sie, dass array_column() PHP erfordert 5.5+.