php从数组中随机选择若干不重复元素的方法


Posted in PHP onMarch 14, 2015

本文实例讲述了php从数组中随机选择若干不重复元素的方法。分享给大家供大家参考。具体实现方法如下:

<?php

/*

 * $array = the array to be filtered

 * $total = the maximum number of items to return

 * $unique = whether or not to remove duplicates before getting a random list

 */

function unique_array($array, $total, $unique = true){

    $newArray = array();

    if((bool)$unique){

        $array = array_unique($array);

    }

    shuffle($array);

    $length = count($array);

    for($i = 0; $i < $total; $i++){

        if($i < $length){

            $newArray[] = $array[$i];

        }

    }

    return $newArray;

}

$phrases = array('Hello Sailor','Acid Test','Bear Garden','Botch A Job','Dark Horse',

    'In The Red','Man Up','Pan Out','Quid Pro Quo','Rub It In','Turncoat',

    'Yes Man','All Wet','Bag Lady','Bean Feast','Big Wig', 'Big Wig','Bear Garden'

    ,'All Wet','Quid Pro Quo','Rub It In');

print_r(unique_array($phrases, 1));

// Returns 1 result

print_r(unique_array($phrases, 5));

// Returns 5 unique results

print_r(unique_array($phrases, 5, false));

// Returns 5 results, but may have duplicates if

// there are duplicates in original array

print_r(unique_array($phrases, 100));

// Returns 100 unique results    

print_r(unique_array($phrases, 100, false));

// Returns 100 results, but may have duplicates if

// there are duplicates in original array

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
基于qmail的完整WEBMAIL解决方案安装详解
Oct 09 PHP
php intval的测试代码发现问题
Jul 27 PHP
php中全局变量global的使用演示代码
May 18 PHP
ThinkPHP整合百度Ueditor图文教程
Oct 21 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
解读PHP的Yii框架中请求与响应的处理流程
Mar 17 PHP
又拍云异步上传实例教程详解
Apr 19 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
php工具型代码之印章抠图
Jul 18 PHP
PHP微信H5支付开发实例
Jul 25 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 PHP
PHP Web表单生成器案例分析
Jun 02 PHP
php利用反射实现插件机制的方法
Mar 14 #PHP
php检测apache mod_rewrite模块是否安装的方法
Mar 14 #PHP
php读取csv文件并输出的方法
Mar 14 #PHP
php列出mysql表所有行和列的方法
Mar 13 #PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
Mar 13 #PHP
PHP 验证登陆类分享
Mar 13 #PHP
php检索或者复制远程文件的方法
Mar 13 #PHP
You might like
如何使用动态共享对象的模式来安装PHP
2006/10/09 PHP
我的论坛源代码(二)
2006/10/09 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
php中的钩子理解及应用实例分析
2019/08/30 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
jquery中常用的函数和属性详细解析
2014/03/07 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
详解js中==与===的区别
2017/01/08 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
javascript实现考勤日历功能
2018/11/29 Javascript
JavaScript常用事件介绍
2019/01/21 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
python制作抽奖程序代码详解
2021/01/15 Python
HTML5对比HTML4的主要改变和改进总结
2016/05/27 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
Uber Eats台湾:寻找附近提供送餐服务的餐厅
2018/05/07 全球购物
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
上海期货面试题
2014/01/31 面试题
春节活动策划方案
2014/01/24 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
小学班主任寄语大全
2014/04/04 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
2015个人简历自我评价语
2015/03/11 职场文书
离婚代理词范文
2015/05/23 职场文书
2016新党章学习心得体会
2016/01/15 职场文书