2010-09-23 14 views
11

Los usuarios rellenarán un campo con números relacionados con su cuenta. Desafortunadamente, algunos usuarios tendrán ceros con el prefijo al principio del número para formar un número de seis dígitos (por ejemplo, 000123, 0) y otros no (por ejemplo, 123, 1234). Quiero 'recortar' los números de los usuarios que tienen un prefijo con ceros en el frente, así que si un usuario ingresa 000123, eliminará los ceros para convertirse en 123.Recortar los ceros al comienzo de una cadena usando PHP

He echado un vistazo a trim y substr pero no creas que estos harán el trabajo?

Respuesta

30

Puede utilizar ltrim() y pasar los caracteres que deben ser eliminados como segundo parámetro:

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

ltrim sólo elimina los caracteres especificados (espacio predeterminado blanco) de la comenzando (lado izquierdo) de la cuerda.

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

debe hacer el trabajo, de acuerdo con el PHP Manual

+0

Pero transformará '1230' en' 123'. –

+0

'trim' eliminará ceros del * final * de la cadena, así como el comienzo. 'ltrim' se debe usar en su lugar. –

+0

Sí, Felix tiene razón, si va por esta ruta, necesita usar 'ltrim'. – Hammerite

1

Siempre se puede obligar a PHP para analizar esto como un int. Si es necesario, se puede convertir de nuevo a una cadena posterior

(int) "000123" 
0

se puede soltar los ceros a la izquierda mediante la conversión de una cadena en un número, y viceversa. Por ejemplo:

$str = '000006767'; 
echo ''.+$str; // echo "6767" 
Cuestiones relacionadas