繁体   English   中英

如何生成9位数字

[英]How to generate a 9 digit number

我正在尝试使用php生成一个不以0开头的9位数字,并且每隔三个数字用短划线分隔。

例如102-394-458

我也在辩论是否

  • 将其存储为数字或在前端进行格式化
  • 或者将其存储为数字并在后端进行格式化
  • 或者只是将破折号存储在数据库中

当然,选择将影响数字的生成方式。

implode('-',str_split(rand(100000000,999999999),3))

通常,最好只是将其存储为数字,并将其格式化 - 仅用于显示目的

在前端使用number_format() 将其格式化存储意味着如果要对其执行任何需要它作为数字的操作,则必须“解格”它。

生成这样一个数字的方法是:

$number = mt_rand(100000000,999999999);

您可以像这样使用number_format:

echo number_format($number,0,"","-");

生成1到9之间的随机数。在0到9之间生成8个随机数。将它们组合成一个字符串,在需要的位置添加短划线。

您应该在数据库和格式中保存为无符号整数(但仍然在服务器端,如果这是您的后端的意思。)

要生成号码使用

mt_rand(100000000, 999999999);

要显示用途:

wordwrap($number, 3, '-', true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM