Je veux supprimer la virgule à la fin d'une chaîne. Tel qu'il est maintenant j'utilise
$string = substr($string,0,-1);
mais cela ne supprime que le dernier caractère de la chaîne. J'ajoute la chaîne de manière dynamique, donc parfois il n'y a pas de virgule à la fin de la chaîne. Comment puis-je demander à PHP de supprimer la virgule à la fin de la chaîne s'il y en a une à la fin?
C'est une question classique, avec deux solutions. Si vous souhaitez supprimer exactement une virgule, qui peut être présente ou non, utilisez:
Si vous souhaitez supprimer toutes les virgules de la fin d'une ligne, utilisez le plus simple:
La fonction rtrim (et ltrim correspondant pour le trim à gauche) est très utile car vous pouvez spécifier une plage de caractères à supprimer, c'est-à-dire pour supprimer les virgules et les espaces de fin que vous écririez:
la source
je suppose que vous concaténez quelque chose dans la boucle, comme
mieux est de collecter des éléments dans un tableau, puis de le joindre avec un délimiteur dont vous avez besoin
cela résout les problèmes de fin et de double délimiteur qui se produisent généralement avec la concaténation
la source
Si vous concaténez quelque chose dans la boucle, vous pouvez également le faire de cette façon:
la source
jetez un œil à la fonction rtrim
la ligne ci-dessus supprimera un caractère si le dernier caractère est une virgule
la source
http://php.net/manual/en/function.substr.php
la source
Une simple expression régulière fonctionnerait
la source
rtrim ($ chaîne, ","); est le moyen le plus simple.
la source
J'avais un espace "invisible" embêtant au bout de ma chaîne et je devais le faire
Mais une solution ci-dessus est meilleure
la source
Faites précéder cela par:
la source