PHP, Zeros a Esquerda (Zero padding)

5 11 2007

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. ; )