2009-04-01 19 views
7

Sto guardando la funzione trim ma che sfortunatamente non rimuove "0" s come posso aggiungerlo? Dovrei usare str_replace?Come rimuovere gli 0 da una stringa

EDIT: La stringa che volevo modificare era un numero di messaggio che assomiglia a questo: 00023460

La funzione ltrim("00023460", "0") si limita a quello che mi serve :) ovviamente non vorrei utilizzare il normale trim perché sarebbe rimuovere anche il finale 0, ma da quando ho dimenticato di aggiungere che la risposta che ho ricevuto è grande :)

risposta

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

Per il numero imbottita zero nella esempio:

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

Date un'occhiata a str_replace

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

La funzione trim rimuove solo personaggi all'inizio e alla fine di una stringa , quindi probabilmente hai bisogno di usare str_replace.

Se avete solo bisogno di togliere 0s dalla all'inizio e alla fine della stringa, è possibile utilizzare il seguente:

$str = '0000hello00'; 

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

Questo avrebbe dovuto essere qui dall'inizio.

EDIT: La stringa che volevo modificare era un numero di messaggio che assomiglia questo: 00023460

La soluzione migliore è probabilmente questo per ogni intero inferiore quindi PHP_INT_MAX

$ numero = (int) '00023460';

Problemi correlati