2009-04-01 30 views
7

Ich schaue auf die Funktion trim, aber das entfernt leider nicht "0" s wie füge ich das hinzu? Sollte ich str_replace verwenden?Wie man Nullen aus einer Zeichenkette entfernt

EDIT: Die Zeichenfolge Ich war eine Meldungsnummer, die wie folgt aussieht ändern wollte: 00023460

Die Funktion ltrim("00023460", "0") ist genau das, was ich brauche :) offensichtlich würde ich nicht die reguläre trim verwenden möchten, weil es würde auch entfernen 0 das Ende, aber da ich, dass die Antwort hinzufügen vergessen ich habe großartig :)

Antwort

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

Für die Null gepolsterte Zahl im Beispiel:

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

Werfen Sie einen Blick auf str_replace

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

Die Trimm-Funktion entfernt nur Zeichen vom Anfang und Ende eines Strings , also musst du wahrscheinlich str_replace verwenden.

Wenn Sie nur 0en von Anfang und Ende des Strings entfernen müssen, können Sie die folgende verwenden:

$str = '0000hello00'; 

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

Dies ist von Anfang an hier haben sollte.

EDIT: Der String I war eine Meldungsnummer, die wie sieht diese ändern wollte: 00023460

Die beste Lösung ist wahrscheinlich das für jede ganze Zahl niedriger als PHP_INT_MAX

$ number = (int) '00023460';

Verwandte Themen