Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    30

    generare un numero casuale di 9 cifre

    Ciao a tutti,
    so come generare un numero casuale
    srand(time());
    $random = (rand());

    ma se volessi generare un numero casuale esattamente di 9 cifre come faccio??
    Devo fare per forza un for fino a 9 e ogni volta prendere una cifra?
    O ci sta un modo più intelligente?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di thor92
    Registrato dal
    Sep 2008
    Messaggi
    89
    io farei così... prima genererei 9 numeri casuali nel range che va da 1 a 9... e poi li metterei insieme...
    creo nome variabili... chiamandole come voglio, poi per ognuna faccio:
    codice:
    <? 
    srand((double)microtime()*1000000);  
    echo rand(0,9); 
    ?>
    lo ripeto per 9 volte e poi faccio una bella stringa con tutte le varibili... ad esempio se le avevo chiamate uno, due e tre:

    codice:
    <?php
    $uno = "x";
    $due = "y";
    $tre = "z";
    
    $stringa = $uno. " " .$due. " " .$tre;
    ?>
    così dovrebbe darti un numero casuale di 9 cifre...

  3. #3
    Originariamente inviato da thor92
    io farei così... prima genererei 9 numeri casuali nel range che va da 1 a 9... e poi li metterei insieme...
    creo nome variabili... chiamandole come voglio, poi per ognuna faccio:
    codice:
    <? 
    srand((double)microtime()*1000000);  
    echo rand(0,9); 
    ?>
    lo ripeto per 9 volte e poi faccio una bella stringa con tutte le varibili... ad esempio se le avevo chiamate uno, due e tre:

    codice:
    <?php
    $uno = "x";
    $due = "y";
    $tre = "z";
    
    $stringa = $uno. " " .$due. " " .$tre;
    ?>
    così dovrebbe darti un numero casuale di 9 cifre...


    rand(100000000,999999999);
    Ciao!

  4. #4
    oppure

    $rand = rand(0,999999999);

    Uno dei tre:
    $rand = str_pad($rand, 9, "0", STR_PAD_LEFT);
    $rand = str_pad($rand, 9, "0", STR_PAD_BOTH);
    $rand = str_pad($rand, 9 , "0");
    Ciao!

  5. #5
    Utente di HTML.it L'avatar di thor92
    Registrato dal
    Sep 2008
    Messaggi
    89


    si... in effetti facendo:
    codice:
    rand(100000000,999999999);
    fai un po + veloce....
    mi piace complicarmi la vita...

    per precisare... usando " str_pad" non è che crea un numero di nove cifre... riempie le cifre mancanti (per arrivare fino a 9 cifre) del numero generato in random da "rand"

    e STR_PAD_LEFT o STR_PAD_BOTH servono per decidere dove metterli... al'inizio, alla fine ecc... qui una guida ufficile su str_pad: http://php.net/manual/en/function.str-pad.php

  6. #6
    Infatti, il secondo messaggio era nel caso volesse che il numero possa cominciare con lo 0.
    Ciao!

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    30
    Grazie!!
    In effetti.... certe volte mi meraviglio di come non la mia testa sia out
    Grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.