I'm trying to use php to generate a 9 digit number that does not start with a 0 and is separated by dash every third number.
e.g. 102-394-458
I'm also debating whether
- to store it as a number or do the formatting on the front end
- or to store it as a numb开发者_JAVA技巧er and do the formatting on the backend
- or to just store the dashes in the database as well
Of course the choice will affect how the number is generated.
implode('-',str_split(rand(100000000,999999999),3))
Generally, it's probably better simply to store as a number, and format it with the - only for display purposes
Use number_format() on the frontend. Storing it formatted will mean you will have to "deformat" it if you want to perform any operation with it that requires it being a number.
The way to generate such a number is:
$number = mt_rand(100000000,999999999);
You can use number_format like this:
echo number_format($number,0,"","-");
You should save as an unsigned integer in your database and format on display (but still on server-side, if this is what you mean by backend.)
To generate the number use
mt_rand(100000000, 999999999);
To display use:
wordwrap($number, 3, '-', true);
Generate a random number between 1 and 9. Generate 8 random numbers between 0 and 9. Combine them into a string, adding dashes where desired.
精彩评论