Vous souhaitez utiliser implode pour cela.
c'est à dire:
$commaList = implode(', ', $fruit);
Il existe un moyen d'ajouter des virgules sans en avoir une à la fin. Vous voudrez faire cela si vous devez faire une autre manipulation en même temps. Par exemple, vous voudrez peut-être citer chaque fruit puis les séparer tous par des virgules:
$prefix = $fruitList = '';
foreach ($fruits as $fruit)
{
$fruitList .= $prefix . '"' . $fruit . '"';
$prefix = ', ';
}
De plus, si vous le faites simplement de la manière "normale" d'ajouter une virgule après chaque élément (comme vous le faisiez auparavant), et que vous devez couper le dernier, faites-le $list = rtrim($list, ', ')
. Je vois beaucoup de gens se débrouiller inutilement substr
dans cette situation.
Voici comment je fais:
Production:
Démo en direct: http://ideone.com/EWK1XR
EDIT: Selon le commentaire de @ joseantgv, vous devriez pouvoir supprimer
rtrim()
de l'exemple ci-dessus. C'est à dire:la source
rtrim()
. Je me souviens avoir eu un problème avec des virgules supplémentaires à la fin de la chaîne, mais je ne me souviens pas de la situation où cela se produisait.Résultat avec
and
au final:la source
Similaire à la réponse de Lloyd, mais fonctionne avec n'importe quel tableau de taille.
la source
Je préfère utiliser une instruction IF dans la boucle FOR qui vérifie que l'itération actuelle n'est pas la dernière valeur du tableau. Sinon, ajoutez une virgule
la source
Parfois, vous n'avez même pas besoin de php pour cela dans certaines instances (les éléments de liste sont chacun dans leur propre balise générique lors du rendu par exemple) Vous pouvez toujours ajouter des virgules à tous les éléments, mais last-child via css s'ils sont des éléments séparés après avoir été rendus du script.
J'utilise beaucoup cela dans les applications de base pour réduire la graisse de code arbitraire:
En gros, regarde l'élément, cible tout sauf son dernier élément, et après chaque élément, il ajoute une virgule. Juste une façon alternative de ne pas avoir à utiliser de script du tout si le cas s'applique.
la source
la source
Une solution fonctionnelle ressemblerait à ceci:
la source
Suivez celui-ci
la source
Si vous faites des réponses citées, vous pouvez faire
ce qui précède suppose que le fruit est non nul. Si vous ne voulez pas faire cette hypothèse, vous pouvez utiliser une instruction if-then-else ou un opérateur ternaire (? :).
la source
Une autre façon pourrait être comme ceci:
La sortie de
$result
est une liste bien formatée, séparée par des virgules.la source
sortie-> a, b, c, d, e, f, g
la source