我正在尝试使用php生成一个不以0开头的9位数字,并且每隔三个数字用短划线分隔。
e.g。 102-394-458
我也在讨论是否
当然,选择会影响数字的生成方式。
答案 0 :(得分:16)
implode('-',str_split(rand(100000000,999999999),3))
通常情况下,最好只是将其存储为数字,并将其格式化为 - 仅用于显示目的
答案 1 :(得分:5)
在前端使用number_format()。将其格式化存储意味着如果要对其执行任何需要它的操作,则必须“解格”它。
生成这样一个数字的方法是:
$number = mt_rand(100000000,999999999);
您可以像这样使用number_format:
echo number_format($number,0,"","-");
答案 2 :(得分:3)
生成1到9之间的随机数。 生成0到9之间的8个随机数。 将它们组合成一个字符串,在需要的地方添加破折号。
答案 3 :(得分:3)
您应该在数据库和格式中保存为无符号整数(但仍然在服务器端,如果这是后端的含义。)
要生成数字,请使用
mt_rand(100000000, 999999999);
显示用途:
wordwrap($number, 3, '-', true);