Foros del Web » Programando para Internet » PHP »

contar ceros a la izquierda

Estas en el tema de contar ceros a la izquierda en el foro de PHP en Foros del Web. Hola a tod@s Tengo un pequeño problema y es que necesito que de una consulta que da un numero con ceros a la izquierda los ...
  #1 (permalink)  
Antiguo 25/01/2004, 13:33
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 3 meses
Puntos: 0
Pregunta contar ceros a la izquierda

Hola a tod@s
Tengo un pequeño problema y es que necesito que de una consulta que da un numero con ceros a la izquierda los pueda "contar", me explico:
de la consulta se envia un numero 0001023
lo que pretendo es poder contar los ceros que hay a la izquierda (3) .
No hace falta que me mostreis el codigo necesario si es que con una instruccion se puede hacer, solo indicarme su nombre para poder encontrarla en el manual de php
__________________
Hay tanto que aprender y tan poco tiempo
  #2 (permalink)  
Antiguo 25/01/2004, 14:36
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Seguro que existirá otra forma, pero se me ocurre algo así:
Código PHP:
function cuentaceros($cad) {
$cuenta=0;
for (
$i=0;$i<length($cad);$i++) {
    if (
$cad{$i}==0) {
        
$cuenta++;
    } else {
        break;
    }
}
return 
$cuenta;
}

/* La probamos */

$numeroConCeros "0001023";

echo 
cuentaceros($numeroConCeros);

// Debe resultar en 3 
Saludos!!
__________________
Manoloweb
  #3 (permalink)  
Antiguo 25/01/2004, 15:42
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 3 meses
Puntos: 0
Muchas gracias Manoloweb por tu interes y tu ayuda, me vale como esta .
Pensaba que existia alguna instruccion tipo strlen() para hacer algo parecido, pero como lo hiciste me vale, cambiando
Código PHP:
length 
por
Código PHP:
strlen 
Gracias
Un saludo
__________________
Hay tanto que aprender y tan poco tiempo

Última edición por Torus; 25/01/2004 a las 15:52
  #4 (permalink)  
Antiguo 25/01/2004, 18:40
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
Yo estaba usando esto:
Código PHP:
function ceros($cadena)
{
    if( 
preg_match("/0([^0])/"$cadena$match) ) {
        return 
strpos($cadena$match[1]);
    } else {
        return 
0;
    }

$var = "0021923";
echo ceros($var);

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:10.