Eliminar el último caracter de una cadena

Eliminar el último caracter de una cadena

Muchas veces nos encontramos con que estamos construyendo una cadena de forma dinámica en PHP mientras recorremos un bucle, un array o un objeto. Por ejemplo, cuando queremos componer una lista separando los elementos con comas u otro caracter. Pero claro, siempre nos termina sobrando el último:

$myString = '';
for( $x = 0; $x < 3; $x++ ){
  $myString .= 'number ' . $x . ',';
}
 
echo $myString; // 'number 1, number 2, number 3,

Pese a que muchos lenguajes no dan importancia a esa última coma, llamada en programación trailing comma, en PHP debemos asegurarnos de suprimirla. Para ello,  muchas veces he encontrado códigos que hacen uso de la función substr() para ello:

$myString = substr($myString, 0, -1);
echo $myString;  // 'number 1, number 2, number 3'

Correcto funciona, pero hay otra forma, como indiqué más arriba, algo más elegante: usando trim().

Efectivamente, la función trim() que habitualmente se usa para eliminar espacios en blanco al principio o final de una cadena, acepta como parámetro el caracter que queremos filtrar o eliminar:

$myString = trim($myString, ',');
echo $myString;  // 'number 1, number 2, number 3'

Mismo resultado, pero más claro que el anterior.

Califica este post

Deja un comentario