Pergunta
Eu quero contar com 0. I meios se
$ x = 002 $ Y = 999
Agora eu quero contá-lo por manter o 00.
for ( $i = $x ; $i <= $y; $i++ )
{
echo $i;
}
mas eco - 002, 3, 4, 5
Eu quero que conte por manter a 00. como como 005, 006, 007, 008, 009, 010, 011, 012.
Solução
for ($i = $x ; $i <= $y; $i++)
{
printf('%03d', $i);
}
Outras dicas
(s) printf é seu amigo para um presente, há uma abundância de exemplos úteis no manual -page, mas você iria querer:
printf('%03d', $i);
A idéia é que você não contá-lo assim, você apenas mostrá-lo assim. Espero que você entenda que 00 é apenas para única apresentação. Felicidades.
uso printf:
for ( $i = $x ; $i <= $y; $i++ ) {
printf("%03d", $i);
}
printf ( "% 03d", $ i);
Tente usar formatos de número
Consulte aqui: http://us2.php.net /manual/en/function.number-format.php
Apenas rolagem através do fundo.
Com os melhores cumprimentos
str_pad método:
echo str_pad($i, 3, '0', STR_PAD_LEFT);
Você não pode fazer isso se $ i é um inteiro. A primeira vez que você atribuir R $ i é armazenado como uma string, depois que você fizer $ i ++ sua convertido para um inteiro.
Se você deve manter o formato original, deleite $ i como uma string e fazer tudo aritmética em $ i utilizar funções personalizadas, não a configuração na aritmética inteira.
A solução mais fácil é deixar $ i ser um inteiro e prepend zeros à esquerda quando você saída $ i.