• 技术文章 >后端开发 >php教程

    php随机数生成的方法

    黄舟黄舟2017-11-10 14:05:44原创979
    相信小伙伴们看到标题,第一反应就是使用函数来实现php随机数、那么有哪些函数可以实现php随机数呢?那么今天我们就带大家来介绍了一下php随机数生成的方法到底有那几种?

    如何用php生成1-10之间的不重复随机数?

    1.使用shuffle函数生成php随机数。

    <?php
    $arr=range(1,10);
    shuffle($arr);
    foreach($arr as $values)
    {
     echo $values." ";
    }
    ?>

    2,使用array_unique函数生成php随机数。

    <?php
    $arr=array();
    while(count($arr)<10)
    {
     $arr[]=rand(1,10);
     $arr=array_unique($arr);
    }
    echo implode(" ",$arr);
    ?>

    例3,使用array_flip函数生成php随机数,可以去掉重复值。

    <?php
    $arr=array();
    $count1=0;
    $count = 0;
    $return = array();
    while ($count < 10) 
     {
     $return[] = mt_rand(1, 10);
     $return = array_flip(array_flip($return));
     $count = count($return);
     } //www.jb51.net
    foreach($return as $value)
     {
     echo $value." ";
     }
    echo "<br/>";
    $arr=array_values($return);// 获得数组的值 
    foreach($arr as $key)
    echo $key." ";
    ?>

    php随机数生成函数示例

    <?php
    function randpw($len=8,$format='ALL'){
    $is_abc = $is_numer = 0;
    $password = $tmp =''; 
    switch($format){
    case 'ALL':
    $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    break;
    case 'CHAR':
    $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    break;
    case 'NUMBER':
    $chars='0123456789';
    break;
    default :
    $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    break;
    } // www.jb51.net
    mt_srand((double)microtime()*1000000*getmypid());
    while(strlen($password)<$len){
    $tmp =substr($chars,(mt_rand()%strlen($chars)),1);
    if(($is_numer <> 1 && is_numeric($tmp) && $tmp > 0 )|| $format == 'CHAR'){
    $is_numer = 1;
    }
    if(($is_abc <> 1 && preg_match('/[a-zA-Z]/',$tmp)) || $format == 'NUMBER'){
    $is_abc = 1;
    }
    $password.= $tmp;
    }
    if($is_numer <> 1 || $is_abc <> 1 || empty($password) ){
    $password = randpw($len,$format);
    }
    return $password;
    }
    for($i = 0 ; $i < 10; $i++){
    echo randpw(8,'NUMBER');
    echo "<br>";
    }

    总结:

    php随机数的生成方式有很多种,每种方法都有他自己的特色,以及效果,那么在我们日常开发中,只需要根据自己的业务需求来选择某一种方法即可!

    相关推荐:

    PHP随机数

    生成PHP随机数的几种方法

    php随机数 微信红包随机生成算法php版

    以上就是php随机数生成的方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:随机数 php 生成
    上一篇:在PHP培训机构学完好就业吗? 下一篇:php随机数不重复生成的五种方式
    大前端线上培训班

    相关文章推荐

    • PHP表单学习之$_GET与$_POST变量的使用与区别• PHP表单学习之表单的输入与验证• PHP数据库学习之怎样使用PDO执行SQL语句?• PHP数据库学习之怎样使用PDO连接数据库?• PHP数据库学习之怎样使用PDO获取查询结果?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网