[PHP] Counter 001 002 003

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • The Milkman
  • Registratie: Maart 2004
  • Laatst online: 12-09 20:42

The Milkman

█████░░░░░ 50%

Topicstarter
Hallo,

ik heb een heel simpel count scriptje, die bij elk bezoek 1 optelt bij de inhoud van een tekst bestand.
Nu wil ik het in dit formaat hebben: 001 002 003 004 005 enz enz...
Is er een functie in PHP waar getallen 3 cijfers lang worden?
Ik hoop dat ik begrepen wordt. Bedankt alvast!

𓆑 𓆑 𓆑 𓆑 𓆑 𓆑


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf


Acties:
  • 0 Henk 'm!

  • The Milkman
  • Registratie: Maart 2004
  • Laatst online: 12-09 20:42

The Milkman

█████░░░░░ 50%

Topicstarter
Super, alleen snap ik nog niet goed hoe ik deze functie moet gebruiken.

Input = 1, Output = 001

Kan je nog een hint geven?

[ Voor 77% gewijzigd door The Milkman op 10-10-2007 09:20 ]

𓆑 𓆑 𓆑 𓆑 𓆑 𓆑


Acties:
  • 0 Henk 'm!

  • Glabbeek
  • Registratie: Februari 2001
  • Laatst online: 18-09 07:52

Glabbeek

Dat dus.

Op de pagina die Erkens linkt staat het exact uitgelegd:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Example 2422. printf(): string specifiers
<?php
$s = 'monkey';
$t = 'many monkeys';

printf("[%s]\n",      $s); // standard string output
printf("[%10s]\n",    $s); // right-justification with spaces
printf("[%-10s]\n",   $s); // left-justification with spaces
printf("[%010s]\n",   $s); // zero-padding works on strings too
printf("[%'#10s]\n",  $s); // use the custom padding character '#'
printf("[%10.10s]\n", $t); // left-justification but with a cutoff of 10 characters
?>

The above example will output:

[monkey]
[    monkey]
[monkey    ]
[0000monkey]
[####monkey]
[many monke]

   


en
PHP:
1
2
3
4
Example 2423. sprintf(): zero-padded integers
<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?> 

[ Voor 9% gewijzigd door Glabbeek op 10-10-2007 09:33 ]

En zo is het maar net.


Acties:
  • 0 Henk 'm!

  • The Milkman
  • Registratie: Maart 2004
  • Laatst online: 12-09 20:42

The Milkman

█████░░░░░ 50%

Topicstarter
dankjewel... heb het voor elkaar.

𓆑 𓆑 𓆑 𓆑 𓆑 𓆑


Acties:
  • 0 Henk 'm!

  • Blackbird-ce
  • Registratie: September 2005
  • Laatst online: 20:05
mijn oplossing:plak overal "00" voor en pak de 3 meest rechter karakters.
Misschien niet zo efficient, maar vrij makkelijk voor de leek :)

Acties:
  • 0 Henk 'm!

  • jpwaag
  • Registratie: September 2003
  • Laatst online: 16:05
Ik dacht meteen aan str_pad()

Acties:
  • 0 Henk 'm!

  • Kayshin
  • Registratie: Juni 2004
  • Laatst online: 09-03-2018

Kayshin

Bl@@T @@P!!!

sprintf is imho de netste oplossing, ook omdat je meteen meer en meersoortige karakters in je string kan zetten :)

My personal videoteek: -Clique-; -NMe- is een snol!


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Blackbird-ce schreef op woensdag 10 oktober 2007 @ 13:04:
mijn oplossing:plak overal "00" voor en pak de 3 meest rechter karakters.
Misschien niet zo efficient, maar vrij makkelijk voor de leek :)
Een leek moet nog leren en kan dan maar beter een mooie manier leren. ;)
printf() is een van de functies welke je eigenlijk gewoon moet kennen.

{signature}


Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

Het kan altijd lelijker...

PHP:
1
2
3
4
5
6
7
function formatteer_met_nulletjes($invoer)
{
    while ( strlen($invoer) < 3 ) {
        $invoer = "0$invoer";
    }
    return $invoer;
}

[ Voor 1% gewijzigd door Bergen op 10-10-2007 13:54 . Reden: strlen, niet length ]

Pagina: 1