PHP, Zeros a Esquerda (Zero padding)

Após presenciar tantas soluções um tanto quanto … estranhas …

$n somado a “000” N vezes depois utilize o substr ……….

Tudo isso para completar um número com zeros a esquerda ? (isso porque eu nao comentei as infinitas funcoes que existem para isso, utilizando for e while)

Ao que interessa (direto do php.net),

str_pad — Preenche uma string para um certo tamanho com outra string

string str_pad ( string $input, int $pad_length [, string $pad_string [, int $pad_type]] )

Só olhando já da pra percebe o funcionamento, vamos lá:

Exemplo:

$n = 1;
$n = str_pad($n, 4, "0", STR_PAD_LEFT);
echo $n;
// Resultará 0001

Exeplicando:

str_pad($n, 4, "0", STR_PAD_LEFT);

$n = nossa variavel de entrada
4 = nosso pad_length, ou qual o tamanho da string a ser preenchida ou qual tamanho ela deve possuir ao final
“0” = nosso pad_string, ou string que sera usada para preencher os espaços até completar nosso tamanho desejado
STR_PAD_LEFT = nosso pad_type que pode variar entre STR_PAD_RIGHT, STR_PAD_LEFT ou STR_PAD_BOTH (deu pra entender né).

Espero ter ajudado. ; )


12 Comentários on “PHP, Zeros a Esquerda (Zero padding)”

  1. Nado disse:

    Ótima dica. Super legal. Estava precisando para um sistema de boleto.

    Maravilha. Obrigado.

  2. Grande dica meu amigo. Agora posso fazer milagres por aqui, rsrsrs.

    Obrigado

  3. Farah disse:

    Vlw pessoal vocês são foda, estava procurando isso já a um tempo.

    Muito obrigado

  4. Caaaaaaaaara! Pensei que não iria achar isso nunca.

    Meu problema era o seguinte:
    eu tenho uma coluna na tabela do banco de dados que é autocrement, ex.: 0001, 0002 assim por diante.

    Só que eu queria pegar esse numero colocar no campo do referente no formulario de cadastro, tipo para cada novo cadastro um codigo.

    Então eu pego o valor utilizando o codigo:
    $sql = “SELECT codigo FROM tabela ORDER BY codigo DESC”;
    $query = mysql_query($sql);
    $codigo = mysql_result($query,0,”codigo”) + 1;
    só que quando somo +1 o zeros somem, ex.: 0008 +1 ficava = 9.

    Agora posso acrescentar os zeros novamente.
    Valeuuuuuu!

  5. Tiane disse:

    Valeu! estava precisando disso!!

  6. Fábio disse:

    Não vou nem comentar… pqp !!!

    Valeu!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  7. rodrigo disse:

    amigo muito obrigado…. me ajudou muito! continue assim..

  8. Fernando disse:

    Ajudou muito… faz 2 anos que trabalho com php e não conhecia essa função, parabéns!

  9. catzurrul disse:

    larguei de um monte de gambiarra depois que vi essa função…

  10. Viconcursos disse:

    caraca incrivel tambem estava procurando isso.. grande abraço….

  11. Jonathan Isaac,

    Parabéns pela dica!

    Menos sempre é mais. Abs…


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s