2009-04-01 10 views
7

Estoy mirando a la función trim pero eso desafortunadamente no elimina el "0" s ¿cómo lo agrego? ¿Debo usar str_replace?Cómo eliminar 0's de una cadena

EDIT: La cadena que quería era modificar un número de mensaje que se parece a esto: 00023460

La función ltrim("00023460", "0") se limita a lo que necesito :) obviamente no quisiera utilizar la regularmente trim porque sería también retire el final 0, pero ya se me olvidó añadir que la respuesta que obtuve es grande :)

Respuesta

16
$ php -r 'echo trim("0string0", "0") . "\n";' 
string 

Para el número acolchada cero en el ejemplo:

$ php -r 'echo ltrim("00023460", "0") . "\n";' 
23460 
1

Tome un vistazo a str_replace

print str_replace('0', '', "This0string0needs0spaces"); 
2

La función de ajuste solamente elimina caracteres desde el principio y el final de una cadena , entonces probablemente necesites usar str_replace.

Si sólo necesita quitar 0s desde el principio y final de la cadena, puede utilizar el siguiente:

$str = '0000hello00'; 

$clean_string = trim($str, '0'); // 'hello' 
2

Esto debería haber estado aquí desde el principio.

EDIT: La cadena que quería modificar era un número de mensaje que se parece a esto: 00023460

La mejor solución es probablemente esto para cualquier número entero menor que PHP_INT_MAX

número $ = (int) '00023460';

Cuestiones relacionadas