Remover última virgula de um resultado foreach

Se você está usando um foreach para iterar sobre os elementos de um array e deseja exibir esses elementos como uma lista separada por vírgulas, você pode fazer o seguinte:

$array = ["foo", "bar", "baz"];

foreach ($array as $element) {
  echo $element . ", ";
}

// Remove a última vírgula da string resultante
echo rtrim(", ", ","); // Saída: "foo, bar, baz"

Nesse exemplo, usamos um foreach para iterar sobre cada elemento do array $array e exibimos cada elemento seguido de uma vírgula e um espaço usando echo $element . ", ";.

Depois, usamos a função rtrim para remover a última vírgula e o espaço em branco que ficou após o último elemento exibido.

A função rtrim remove caracteres à direita da string até que um caractere diferente do especificado seja encontrado. Passamos uma vírgula e um espaço como segundo parâmetro para indicar que queremos remover esses caracteres do final da string. Se não passarmos um segundo parâmetro, a função removerá espaços em branco do final da string.

Outra forma de remover a última vírgula de uma string é usando a função substr para obter uma substring da string original sem a vírgula final.

Por exemplo:

$array = ["foo", "bar", "baz"];
$string = "";

foreach ($array as $element) {
  $string .= $element . ", ";
}

$string = substr($string, 0, -2);

echo $string; // Saída: "foo, bar, baz"

Nesse exemplo, criamos uma string vazia $string e usamos o operador de concatenação .= para adicionar cada elemento do array $array à string, seguido de uma vírgula e um espaço.

Em seguida, usamos a função substr para obter uma substring da string $string que começa no início da string e termina dois caracteres antes do final, removendo assim a última vírgula e o espaço em branco.

Rolar para cima