Sie möchten implode verwenden .
dh:
$commaList = implode(', ', $fruit);
Es gibt eine Möglichkeit, Kommas anzuhängen, ohne ein nachfolgendes zu haben. Sie möchten dies tun, wenn Sie gleichzeitig eine andere Manipulation durchführen müssen. Zum Beispiel möchten Sie vielleicht jede Frucht zitieren und sie dann alle durch Kommas trennen:
$prefix = $fruitList = '';
foreach ($fruits as $fruit)
{
$fruitList .= $prefix . '"' . $fruit . '"';
$prefix = ', ';
}
Wenn Sie es einfach auf die "normale" Weise tun, nach jedem Element ein Komma anzuhängen (wie es sich anhört, als hätten Sie es zuvor getan), und Sie das letzte abschneiden müssen, tun Sie es einfach $list = rtrim($list, ', ')
. Ich sehe viele Leute, die substr
in dieser Situation unnötig herumspielen .
So habe ich es gemacht:
Ausgabe:
Live-Demo: http://ideone.com/EWK1XR
BEARBEITEN : Gemäß dem Kommentar von @ joseantgv sollten Sie in der Lage sein,
rtrim()
aus dem obigen Beispiel zu entfernen . Dh:quelle
rtrim()
. Ich erinnere mich an ein Problem mit zusätzlichen Kommas am Ende der Zeichenfolge, kann mich aber nicht an die Situation erinnern, in der es passiert ist.Ergebnis mit
and
am Ende:quelle
Ähnlich wie Lloyd's Antwort, funktioniert jedoch mit Arrays jeder Größe.
quelle
Ich bevorzuge die Verwendung einer IF-Anweisung in der FOR-Schleife, die überprüft, ob die aktuelle Iteration nicht der letzte Wert im Array ist. Wenn nicht, fügen Sie ein Komma hinzu
quelle
Manchmal benötigen Sie dafür in bestimmten Fällen nicht einmal PHP (Listenelemente befinden sich beispielsweise beim Rendern in einem eigenen generischen Tag). Sie können allen Elementen, außer dem letzten Kind, über CSS jederzeit Kommas hinzufügen, wenn es sich nach dem Rendern um separate Elemente handelt aus dem Skript.
Ich benutze dies häufig in Backbone-Apps, um beliebiges Codefett zu reduzieren:
Betrachtet im Grunde das Element, zielt auf alle außer dem letzten Element ab und fügt nach jedem Element ein Komma hinzu. Nur eine alternative Möglichkeit, kein Skript verwenden zu müssen, wenn der Fall zutrifft.
quelle
quelle
Eine funktionale Lösung würde folgendermaßen aussehen:
quelle
Folgen Sie diesem
quelle
Wenn Sie zitierte Antworten geben, können Sie dies tun
Das Obige geht davon aus, dass Obst nicht null ist. Wenn Sie diese Annahme nicht treffen möchten, können Sie eine if-then-else-Anweisung oder einen ternären (? :) Operator verwenden.
quelle
Ein anderer Weg könnte so sein:
Die Ausgabe von
$result
ist eine schön formatierte, durch Kommas getrennte Liste.quelle
Ausgabe-> a, b, c, d, e, f, g
quelle