php - tutorial - comment puis-je supprimer une virgule de la fin d'une chaîne?




telecharger php (7)

C'est une question classique, avec deux solutions. Si vous voulez supprimer exactement une virgule, qui peut ou ne peut pas être là, utilisez:

if (substr($string, -1, 1) == ',')
{
  $string = substr($string, 0, -1);
}

Si vous voulez supprimer toutes les virgules à la fin d'une ligne, utilisez le plus simple:

$string = rtrim($string, ',');

La fonction rtrim (et ltrim correspondante pour le trim gauche) est très utile car vous pouvez spécifier une plage de caractères à supprimer, c'est-à-dire supprimer les virgules et les espaces de fin que vous écrivez:

$string = rtrim($string, ", \t\n");

Je veux supprimer la virgule de la fin d'une chaîne. Comme c'est maintenant que j'utilise

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

mais cela ne supprime que le dernier caractère de la chaîne. J'ajoute dynamiquement la chaîne, donc parfois il n'y a pas de virgule à la fin de la chaîne. Comment puis-je avoir PHP enlever la virgule de la fin de la chaîne s'il y en a une à la fin de la chaîne?


J'avais un espace "invisible" embêtant au bout de ma ficelle et je devais le faire

 $update_sql=rtrim(trim($update_sql),',');

Mais une solution ci-dessus est préférable

 $update_sql=rtrim($update_sql,', ');

Précède cela avec:

if(substr($string, -1)==",")

Si vous concaténéz quelque chose dans la boucle, vous pouvez le faire de cette manière aussi:

$coma = "";
foreach($a as $b){
    $string .= $coma.$b;
    $coma = ",";
}

jetez un oeil à la fonction rtrim

rtrim ($string , ",");

la ligne ci-dessus supprimera un caractère si le dernier caractère est une virgule


rtrim ($ string, ","); est le moyen le plus simple.








php