2010-08-25 16 views
13

Quiere eliminar todos 0 colocados al principio de alguna variable.PHP eliminar primeros ceros

Algunas opciones:

  1. si $var = 0002, deberíamos primera tira 000 ($var = 2)
  2. si var = 0203410 debemos eliminar primera 0 ($var = 203410)
  3. si var = 20000 - no hacer nada ($var = 20000)

¿Cuál es la solución?

Respuesta

48

fundido a un entero

$var = (int)$var; 
+0

falta punto y coma: p – Lekensteyn

+1

@Lekensteyn: Sólo si está destinado a ser una declaración en lugar de una expresión. – Gumbo

+0

no era toda la línea :) ehehhe – drAlberT

2
$var = strval(intval($var)); 

o si no se preocupan por lo que queda una cadena, simplemente convertir a int y dejarlo en eso.

7
$var = ltrim($var, '0'); 

Esto sólo funciona en cadenas, números que empiezan con un 0 se interpretará como números octales, múltiples ceros son ignorados.

2

sólo tiene que utilizar variables dentro +:

echo +$var; 
+0

Interesante.¿Puedes publicar un enlace a la documentación relevante? – brasofilo

+0

¡Realmente no tengo ninguna referencia! ¡pero funciona como un encanto! cambiar cadenas a números y eliminar todo cero innecesario y cambiar cadena a número. – poostchi

+0

Un operador unario actúa en números, por lo que está haciendo un lanzamiento implícito ... código malo, ya que oculta la lógica sin otras ventajas en mi humilde opinión ... – drAlberT

Cuestiones relacionadas