2010-09-23 5 views
11

Les utilisateurs rempliront un champ avec des chiffres relatifs à leur compte. Malheureusement, certains utilisateurs auront des zéros préfixés au début du nombre pour former un nombre à six chiffres (par exemple 000123, 0) et d'autres non (par exemple 123, 1234). Je veux «découper» les nombres des utilisateurs qui ont été préfixés avec des zéros à l'avant, donc si un utilisateur entre 000123, il enlèvera les zéros pour devenir 123.Couper les zéros au début d'une chaîne en utilisant PHP

J'ai regardé trim et substr mais je Ne croyez-vous pas que cela fera l'affaire?

Répondre

30

Vous pouvez utiliser ltrim() et passer les caractères qui doivent être supprimés en tant que second paramètre:

$input = ltrim($input, '0'); 
// 00-> 123 

ltrim supprime uniquement les caractères spécifiés (espace blanc par défaut) de la début (côté gauche) de la chaîne.

1
$number = "004561"; 
$number = intval($number, 10); 
$number = (string)$number; // if you want it to again be a string 
2
ltrim($usernumber, "0"); 

devrait faire le travail, selon la PHP Manual

+0

Mais il va transformer '1230' à' 123'. –

+0

'trim' supprimera les zéros de la fin de la chaîne ainsi que le début. 'ltrim' devrait être utilisé à la place. –

+0

Oui, Felix a raison, si vous suivez cette route, vous devez utiliser 'ltrim'. – Hammerite

1

Vous pouvez toujours forcer PHP à analyser cela comme un int. Si vous avez besoin, vous pouvez le convertir en une chaîne plus tard

(int) "000123" 
0

Vous pouvez déposer les zéros en convertissant d'une chaîne en nombre et inversement. Par exemple:

$str = '000006767'; 
echo ''.+$str; // echo "6767" 
Questions connexes