web-dev-qa-db-fra.com

Comment supprimer la dernière virgule d'une chaîne en utilisant php?

Bonjour, j'utilise loop pour obtenir les valeurs de ma base de données et mon résultat est le suivant:

'name', 'name2', 'name3',

Et je le veux comme ça:

'name', 'name2', 'name3'

Je veux supprimer la virgule après la dernière valeur de la boucle.

Merci

67
JoJo

Utilisez rtrim function

rtrim($my_string,',');

Le second paramètre indique le caractère à supprimer.

156
Ander2

Essayer:

$string = "'name', 'name2', 'name3',";
$string = rtrim($string,',');
21
Boaz

Essayez ci-dessous Code:

$my_string = "'name', 'name2', 'name3',";
echo substr(trim($my_string), 0, -1);

utilisez ce code pour supprimer le dernier caractère de la chaîne. 

10
VijayS91

Vous pouvez utiliser la fonction substr pour le supprimer.

$t_string = "'test1', 'test2', 'test3',";
echo substr($t_string, 0, -1);
6
Annie Chandel

rtrim fonction

rtrim($my_string,',');

Le deuxième paramètre indique que la virgule doit être supprimée du côté droit.

6
Jitendra Tyagi

utiliser rtrim()

rtrim($string,',');
5
Sankalp Mishra

Cela aura un impact sur votre script si vous travaillez avec du texte multi-octets à partir duquel vous sous-chaîne. Si tel est le cas, je vous recommande vivement d'activer les fonctions mb_ * dans votre php.ini ou de faire ceci ini_set("mbstring.func_overload", 2);

$string = "'test1', 'test2', 'test3',";
echo mb_substr($string, 0, -1);

3
Ashok Khot

Au début, j'ai essayé sans espace rtrim($arraynama,","); et j'ai obtenu un résultat invalide.

Puis j'ai ajouté un espace et obtenu un résultat valide: 

$newarraynama=rtrim($arraynama,", ");
2
Owais Alam

c'est aussi simple que:

$commaseparated_string = name,name2,name3,;
$result = rtrim($commaseparated_string,',');
1
Ketan Savaliya

Il vaut mieux utiliser imploser à cet effet. Implode est facile et génial: 

    $array = ['name1', 'name2', 'name3'];
    $str = implode(', ', $array);

Sortie:

    name1, name2, name3
0
khandaniel