开发者

How to generate a 9 digit number

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜