PHP-如何随机分配电话号码的最后4位数字

PHP-如何随机分配电话号码的最后4位数字,php,random,numbers,phone-number,Php,Random,Numbers,Phone Number,你将如何随机分配电话号码的最后4位数字 鉴于: $phone = '000-000-0000'; 结果将是: $phone = '000-000-1943'; 其中1943是一个随机数 这可以在一行命令中使用诸如preg 或者其他一些单行命令?用于从字符串的开头/结尾提取n个字符;可以用来生成一个随机数,可以用来格式化一个数字。将所有三个功能放在一起: $phone = preg_replace_callback('/\d{4}$/', function($m) { return s

你将如何随机分配电话号码的最后4位数字

鉴于:

$phone = '000-000-0000';
结果将是:

$phone = '000-000-1943';
其中1943是一个随机数

这可以在一行命令中使用诸如preg

或者其他一些单行命令?

用于从字符串的开头/结尾提取n个字符;可以用来生成一个随机数,可以用来格式化一个数字。将所有三个功能放在一起:

$phone = preg_replace_callback('/\d{4}$/', function($m) {
    return str_pad(mt_rand(0, 9999), 4, '0');
}, $phone);
$phone = '000-000-0000';
$phone = sprintf('%s%04d', substr($phone, 0, -4), rand(0, 9999));
echo $phone;
// 000-000-2317
您可以将该方法与该方法一起使用


+1比preg更复杂,但它完成了任务。这是0951(4位数字),只需将最后4位数字替换为随机数字并输出整个修改后的电话号码。这段代码到底在做什么?你在抱怨之前测试过输出吗?我没有抱怨。我确实运行了代码。结果应该是一个10位数的修订数字,最后4位数随机化确认按照OP要求工作。10位数字输出,最后4位随机。@Michael Berkowski我没有分配电话号码。它实际上是用来分配一个看起来像电话号码的随机零件号。对于这个问题,电话号码格式是一个更容易理解的类比。
$phone = '000-000-'.str_pad(rand(0,9999), 4, '0');
$phone = '000-000-0000';
$phone=explode('-',$phone);
$phone[2]=str_pad(rand(0,9999), 4, 0);
$phone=implode('-', $phone);