zoukankan      html  css  js  c++  java
  • PHP生成N个不重复的随机数

    原理就是将数组顺序随即打乱 ,然取该数组中的某一段
    方法1:

    <?php 
    //range 是将1到100 列成一个数组 
    $numbers = range (1,100); 
    //shuffle 将数组顺序随即打乱 
    shuffle ($numbers); 
    //array_slice 取该数组中的某一段 
    $result = array_slice($numbers,0,3); 
    print_r($result); 
    ?>

    方法2:

    <?php 
    $numbers = range (1,20); 
    srand ((float)microtime()*1000000); 
    shuffle ($numbers); 
    while (list (, $number) = each ($numbers)) { 
    echo "$number "; 
    } 
    ?>

    方法3:
    用PHP,在1-20间随机产生5个不重复的值

    <?php 
    function NoRand($begin=0,$end=20,$limit=5){ 
    $rand_array=range($begin,$end); 
    shuffle($rand_array);//调用现成的数组随机排列函数 
    return array_slice($rand_array,0,$limit);//截取前$limit个 
    } 
    print_r(NoRand()); 
    ?>

    或者不shuffle的话

    <?php 
    $tmp=array(); 
    while(count($tmp)<5){ 
    $tmp[]=mt_rand(1,20); 
    $tmp=array_unique($tmp); 
    } 
    print join(',',$tmp); 
    ?>
  • 相关阅读:
    webapi之fiddler头设置
    ios---setContentOffset
    webapi参数处理get过个参数
    socket网络编程
    logging模块
    configparser模块(拷贝)
    hashlib模块--摘要算法
    异常处理
    面向对象拓展
    反射
  • 原文地址:https://www.cnblogs.com/liuxgnu/p/3535098.html
Copyright © 2011-2022 走看看