Quero remover a vírgula do final de uma string. Como agora estou usando
$string = substr($string,0,-1);
mas isso remove apenas o último caractere da string. Estou adicionando a string dinamicamente, então às vezes não há vírgula no final da string. Como posso fazer com que o PHP remova a vírgula do final da string se houver uma no final dela?
Esta é uma questão clássica, com duas soluções. Se você quiser remover exatamente uma vírgula, que pode ou não estar lá, use:
Se você deseja remover todas as vírgulas do final de uma linha, use o mais simples:
A função rtrim (e ltrim correspondente para o corte esquerdo) é muito útil, pois você pode especificar um intervalo de caracteres a serem removidos, ou seja, para remover vírgulas e espaços em branco finais, você escreveria:
fonte
eu acho que você está concatenando algo no loop, como
muito melhor é coletar itens em uma matriz e, em seguida, juntá-la com um delimitador que você precisa
isso resolve problemas de delimitador duplo e final que geralmente ocorrem com concatenação
fonte
Se você estiver concatenando algo no loop, também poderá fazer desta forma:
fonte
dê uma olhada na função rtrim
a linha acima irá remover um caractere se o último caractere for uma vírgula
fonte
http://php.net/manual/en/function.substr.php
fonte
Uma expressão regular simples funcionaria
fonte
rtrim ($ string, ","); é a maneira mais fácil.
fonte
Eu tinha um incômodo espaço "invisível" no final da minha corda e tive que fazer isso
Mas uma solução acima é melhor
fonte
Preceda isso com:
fonte