• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP生成随机数组

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
/** 生成指定个数,以及最小最大值随机数组(包括最大值)
 * @parem $min 随机数组最小值
 * @parem $max 随机数组最大值
 * @parem $num 随机数组个数,默认max-min
 * @parem $order 排序方式,false不排序,ture默认 由低到高-->asort()
 * */
function unique_rand($min,$max,$num=0,$order=false)
{
    // 转为 int 类型
    $min=gettype($min)=='int'?$min:intval($min);
    $max=gettype($max)=='int'?$max:intval($max);

    // 如果参数写反
    if($max<=$min)
    {
      $max=$max+$min;
      $min=$max-$min;
    }

    $num=gettype($num)=='int'?$num:intval($num);
    $max_num=$max-$min; // 最大数组个数
    if($num<1 || $num>$max_num)  //随机数组个数,默认max-min
    {
        $num=$max_num;
    }

    //生成随机数组
    $return = array();

    $i=0;
    while(count($return)<$num)
    {
        $i++;
        $rand_n=rand($min,$max);
        $return[$rand_n]=$i;
    }
    $return=array_flip($return);

    // 数组排序
    if(isset($order))
    {
        $order=strtolower($order);
        switch($order)
        {
            case 'asort':   //由低到高 ,键值关联的保持
            case 'arsort':  //由高到低 ,键值关联的保持
            case 'sort':    //由低到高
            case 'rsort':   //由高到低
                $order($return);
                break;
            default:
                sort($return); //由低到高
                break;
        }
    }
    return $return;
}
// 测试调用
$arr=unique_rand(10,132,8);
echo "<pre>";
var_dump($arr);

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php扩展1:filp/whoops(用于调试,方便定位错误点)发布时间:2022-07-10
下一篇:
Ajax+PHP实现动态无刷新技术发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap