Вы хотите использовать для этого implode .
то есть:
$commaList = implode(', ', $fruit);
Есть способ добавлять запятые, не ставя запятую в конце. Вы бы захотели сделать это, если вам нужно одновременно проделать какие-то другие манипуляции. Например, вы хотите процитировать каждый фрукт, а затем разделить их запятыми:
$prefix = $fruitList = '';
foreach ($fruits as $fruit)
{
$fruitList .= $prefix . '"' . $fruit . '"';
$prefix = ', ';
}
Кроме того, если вы просто делаете это «обычным» способом, добавляя запятую после каждого элемента (как будто вы это делали раньше), и вам нужно обрезать последний, просто сделайте это $list = rtrim($list, ', ')
. Я вижу, как многие люди без надобности возятся substr
в этой ситуации.
Вот как я это делал:
Вывод:
Живая демонстрация: http://ideone.com/EWK1XR
РЕДАКТИРОВАТЬ: в комментарии @joseantgv вы сможете удалить
rtrim()
из приведенного выше примера. То есть:источник
rtrim()
. Я помню, что у меня возникла проблема с лишними запятыми в конце строки, но я не могу вспомнить ситуацию, в которой это происходило.Результат с
and
в итоге:источник
Аналогично ответу Ллойда, но работает с массивом любого размера.
источник
Я предпочитаю использовать оператор IF в цикле FOR, который проверяет, не является ли текущая итерация последним значением в массиве. Если нет, добавьте запятую
источник
Иногда вам даже не нужен php для этого в определенных случаях (например, элементы списка находятся в собственном общем теге при рендеринге). Вы всегда можете добавить запятые ко всем элементам, кроме последнего дочернего, через css, если они являются отдельными элементами после рендеринга из сценария.
Я часто использую это в базовых приложениях, чтобы сократить количество произвольного кода:
В основном смотрит на элемент, ориентируется на все, кроме последнего элемента, и после каждого элемента добавляет запятую. Это просто альтернативный способ вообще не использовать скрипт, если это применимо.
источник
источник
Функциональное решение будет выглядеть так:
источник
Следуй за этим
источник
Если вы делаете цитируемые ответы, вы можете сделать
приведенное выше предполагает, что фрукт не равен нулю. Если вы не хотите делать это предположение, вы можете использовать оператор if-then-else или тернарный оператор (? :).
источник
Другой способ мог быть таким:
Результатом
$result
является красиво отформатированный список, разделенный запятыми.источник
вывод-> a, b, c, d, e, f, g
источник