在一些必要的环境中,我们需要生成一批手机号用来做一些数据的验证,以测试项目的逻辑是否可行。今天就说一说利用PHP批量生成一些不同号段的手机号码。

PHP批量生成手机号码

代码

<?php
$arr = array(
    130,131,132,133,134,135,136,137,138,139,
    144,147,
    150,151,152,153,155,156,157,158,159,
    176,177,178,
    180,181,182,183,184,185,186,187,188,189,
);
for($i = 0; $i < 100; $i++) {
    $phone[] = $arr[array_rand($arr)].' '.mt_rand(1000,9999).''.mt_rand(1000,9999);
}
$ps = array_unique($phone);
foreach($ps as $a){
    echo $a;
    echo '<br/>';
}

注意:此代码可以生成不同号段的手机号码,如果只想生成其中的几种,可以对第一个$arr数组自定义。当然我们可以把上面的代码封装成一个函数,参考以下的代码

PHP批量生成手机号码函数

代码

QQ截图20190512200517.png

<?php
function phonenubers($s = 1){
    $arr = array(
        130,131,132,133,134,135,136,137,138,139,
        144,147,
        150,151,152,153,155,156,157,158,159,
        176,177,178,
        180,181,182,183,184,185,186,187,188,189,
    );
    for($i = 0; $i < $s; $i++) {
        $phone[] = $arr[array_rand($arr)].' '.mt_rand(1000,9999).''.mt_rand(1000,9999);
    }
    return array_unique($phone);
}

调用方法

$arr = phonenubers(20);
var_dump($arr);

注意:函数的传入值为生成手机号码的数量,由于生成逻辑存在一定的重复性,函数生成的手机号码与要生成的传入值数量不一定相等