Hola. Necesito hacer un for que empiece del 0000 y finalice en el 1000, por lo tanto, tengo el siguiente código:
<?php
for($a = 0000; $a < 1001; $a++) {
echo $a;
echo "<br>";
}
?>
Pero devuelve:
Citar0
1
2
3
4
...
¿Cómo puedo hacer para solucionarlo?.
con esto :D
echo str_pad($a, 4, 0, STR_PAD_LEFT);
Usa la funcion str_pad para rellenar la cadena con ceros hasta una longitud de 4 caracteres:
<?php
for($a = 0000; $a < 1001; $a++) {
echo str_pad($a,4,0,STR_PAD_LEFT);
echo "<br>";
}
?>
Saludos
PD: Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
Muchas gracias amigos :D
PD: Tengo otro problema. Quiero ingresar los números en la BD, pero el mismo problema de antes, ingresa 0,1,2...
<?php
include("conexion.php");
for($a = 0000; $a < 1001; $a++) {
$a1 = str_pad($a,4,0,STR_PAD_LEFT);
mysql_query("INSERT INTO rifas (numero) VALUES ($a1)", $conexion);
}
?>
Seguramente el tipo de campo de la BBDD es int, prueba con poner el campo tipo char.
Un saludo.
Gracias por la respuesta. Si, era INT, probé con CHAR y no funciona de todos modos. ¿Alguna otra idea?.
si no pretendes guardar negativos en la columna, puedes especificar que sea de tipo NUMERIC(4) ZEROFILL :P e implicitamente sera unsigned, asi si guardas 1 en la base de datos sera 0001 :) (supongo que la base de datos esta en mysql)
Con decir genio, me quedo corto. Muchas gracias Nakp, ya me salvaste de unas cuantas junto con otros ;-)