Quieres usar implosión para esto.
es decir:
$commaList = implode(', ', $fruit);
Hay una forma de agregar comas sin tener una al final. Querrá hacer esto si tiene que hacer alguna otra manipulación al mismo tiempo. Por ejemplo, tal vez desee citar cada fruta y luego separarlas todas con comas:
$prefix = $fruitList = '';
foreach ($fruits as $fruit)
{
$fruitList .= $prefix . '"' . $fruit . '"';
$prefix = ', ';
}
Además, si lo hace de la manera "normal" de agregar una coma después de cada elemento (como suena que estaba haciendo antes), y necesita recortar el último, simplemente hágalo $list = rtrim($list, ', ')
. Veo a mucha gente jugando innecesariamente substr
en esta situación.
Así es como lo he estado haciendo:
Salida:
Demostración en vivo: http://ideone.com/EWK1XR
EDITAR: según el comentario de @ joseantgv, debería poder eliminar
rtrim()
del ejemplo anterior. Es decir:fuente
rtrim()
. Recuerdo haber tenido un problema con las comas adicionales al final de la cadena, pero no recuerdo la situación en la que estaba sucediendo.Resultado con
and
al final:fuente
Similar a la respuesta de Lloyd, pero funciona con cualquier tamaño de matriz.
fuente
Prefiero usar una declaración IF en el ciclo FOR que verifica que la iteración actual no sea el último valor de la matriz. Si no es así, agregue una coma
fuente
A veces, ni siquiera necesita php para esto en ciertos casos (los elementos de la lista están en su propia etiqueta genérica en el renderizado, por ejemplo). Siempre puede agregar comas a todos los elementos excepto al último hijo a través de css si son elementos separados después de ser renderizados del guión.
Lo uso mucho en aplicaciones de backbone, en realidad, para recortar algo de código arbitrario:
Básicamente, mira el elemento, apunta a todos excepto a su último elemento, y después de cada elemento agrega una coma. Solo una forma alternativa de no tener que usar script en absoluto si el caso aplica.
fuente
fuente
Una solución funcional sería así:
fuente
Sigue este
fuente
Si está haciendo respuestas citadas, puede hacer
lo anterior asume que la fruta no es nula. Si no desea hacer esa suposición, puede usar una instrucción if-then-else o un operador ternario (? :).
fuente
Otra forma podría ser así:
La salida de
$result
es una lista separada por comas bien formateada.fuente
salida-> a, b, c, d, e, f, g
fuente