Avatar billede jenshansen Nybegynder
09. februar 2003 - 15:18 Der er 5 kommentarer

sætte nuller foran et nummer

Hej

Jeg er i gang med at lave et lodtræknings-system.

Jeg har fået serveren til at tage et nummer fra en access-database, og skrive personens ip ind ved siden af. Så det er ikke det jeg skal bruge hjælp til.
Det er derimod at få skrevet id-nummeret rigtigt ud.

Jeg vil gerne have at idet er et 10-cifret nummer lige meget hvor stort det i virkeligheden er. Så hvis det er et af numrene med fx kun 8 cifre, vil jeg gerne have at den sætter 2 nuller foran.
Altså så fx at nummeret 1523 i stedet bliver skrevet ud som 0000001523.

Jeg har prøvet et ihærdigt forsøg, men tror langt fra at det er en optimal løsning. Her er koden jeg har fået bakset sammen:

$id = "1523";
$id_antal_nul = 10-(strlen($id));
for($id_antal_nul_nulstil=0; $id_antal_nul_nulstil<$id_antal_nul; $id_antal_nul_nulstil++) {
if(!isset($id_full)) { $id_full = ""; }
$id_full = "0".$id_full;
}
$id_full = "Du har trukket lod nummer ".$id_full.id;

echo "$id_full";

Det må kunne lade sig gøre at udføre denne funktion meget lettere, uden for- og if-sætninger.
Er der evt. en kommando i PHP til det?
Eller er der en der lige kan lave et bedre forslag?

Jeg siger på forhånd tak.
Mange hilsner Jens
Avatar billede jakoba Nybegynder
09. februar 2003 - 15:22 #1
en lidt nemmere måde:

$temp = "0000000000" .$id;  // lav en streng med for mange nuller foran
$resultat = substr( $temp, strlen($temp)-10 );  // de 10 sidste bogstaver i den streng

echo "dit nummer er : " .$resultat .". Velbekomme :-)<br>";

mvh JakobA
Avatar billede jakoba Nybegynder
09. februar 2003 - 15:24 #2
PS: der er vist også en funktion du lige kan bruge, men jeg husker den ikke. vent evt lidt, måske en anden gør.
Avatar billede erikjacobsen Ekspert
09. februar 2003 - 15:26 #3
Det kan gøres et bette nøk nemmere:

  $n=1523;
  print sprintf('%010d',$n);
Avatar billede jenshansen Nybegynder
12. oktober 2003 - 17:19 #4
eric.... >> Svar lige!
Avatar billede erikjacobsen Ekspert
12. oktober 2003 - 17:21 #5
ohkaawy
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester