Chcesz do tego użyć implodu .
to znaczy:
$commaList = implode(', ', $fruit);
Istnieje sposób na dołączanie przecinków bez końca. Chciałbyś to zrobić, jeśli musisz wykonać inne manipulacje w tym samym czasie. Na przykład, może chcesz zacytować każdy owoc, a następnie oddzielić je wszystkie przecinkami:
$prefix = $fruitList = '';
foreach ($fruits as $fruit)
{
$fruitList .= $prefix . '"' . $fruit . '"';
$prefix = ', ';
}
Ponadto, jeśli robisz to w „normalny” sposób dodawania przecinka po każdym elemencie (tak, jakbyś robił to wcześniej) i musisz przyciąć ostatni, po prostu zrób $list = rtrim($list, ', ')
. Widzę, że substr
w tej sytuacji wielu ludzi niepotrzebnie się bawi .
Oto jak to robiłem:
Wynik:
Demo na żywo: http://ideone.com/EWK1XR
EDYCJA: Zgodnie z komentarzem @ joseantgv, powinno być możliwe usunięcie
rtrim()
z powyższego przykładu. To znaczy:źródło
rtrim()
. Pamiętam, że miałem problem z dodatkowymi przecinkami na końcu ciągu, ale nie pamiętam sytuacji, w której to się działo.Wynik z
and
na końcu:źródło
Podobny do odpowiedzi Lloyda, ale działa z tablicą o dowolnej wielkości.
źródło
Wolę używać instrukcji IF w pętli FOR, która sprawdza, czy bieżąca iteracja nie jest ostatnią wartością w tablicy. Jeśli nie, dodaj przecinek
źródło
Czasami nawet nie potrzebujesz do tego php w niektórych przypadkach (na przykład elementy listy są w swoim własnym ogólnym tagu podczas renderowania) Zawsze możesz dodać przecinki do wszystkich elementów oprócz ostatniego dziecka przez css, jeśli są one oddzielnymi elementami po wyrenderowaniu ze scenariusza.
Używam tego często w aplikacjach szkieletowych, aby przyciąć jakiś dowolny kod:
Zasadniczo patrzy na element, celuje we wszystko oprócz ostatniego elementu, a po każdym elemencie dodaje przecinek. To tylko alternatywny sposób, aby w ogóle nie używać skryptu, jeśli ma to zastosowanie.
źródło
źródło
Funkcjonalne rozwiązanie wyglądałoby tak:
źródło
Podążaj za tym
źródło
Jeśli robisz cytowane odpowiedzi, możesz to zrobić
powyższe zakłada, że owoc nie jest zerowy. Jeśli nie chcesz robić tego założenia, możesz użyć instrukcji if-then-else lub operatora potrójnego (? :).
źródło
Innym sposobem może być ten:
Wynik
$result
jest ładnie sformatowaną listą oddzieloną przecinkami.źródło
wyjście-> a, b, c, d, e, f, g
źródło