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 相关文章推荐
php生成EXCEL的东东
Oct 09 PHP
php中json_encode中文编码问题分析
Sep 13 PHP
php 多关键字 高亮显示实现代码
Apr 23 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
Jan 29 PHP
Linux下创建nginx脚本-start、stop、reload…
Aug 03 PHP
php随机生成数字字母组合的方法
Mar 18 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
Sep 22 PHP
全面解析PHP面向对象的三大特征
Jun 10 PHP
php中通用的excel导出方法实例
Dec 30 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 PHP
PHP扩展类型及安装方式解析
Apr 27 PHP
php中yii框架实例用法
Dec 22 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
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
php数据结构与算法(PHP描述) 快速排序 quick sort
2012/06/21 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
微信小程序实现tab左右切换效果
2020/11/15 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
python实现ping的方法
2015/07/06 Python
python与C互相调用的方法详解
2017/07/14 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
Python对称的二叉树多种思路实现方法
2020/02/28 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
劳资专员岗位职责
2013/12/27 职场文书
物流司机岗位职责
2013/12/28 职场文书
见习报告怎么写
2014/10/31 职场文书
社区义诊通知
2015/04/24 职场文书
2016七夕情人节寄语
2015/12/04 职场文书