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中的日期处理方法集锦
Jan 02 PHP
用PHPdig打造属于你自己的Google[图文教程]
Feb 14 PHP
php ob_flush,flush在ie中缓冲无效的解决方法
May 09 PHP
php自动获取目录下的模板的代码
Aug 08 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
php数字游戏 计算24算法
Jun 10 PHP
PHP5.3以上版本安装ZendOptimizer扩展
Mar 27 PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 PHP
PHP实现QQ登录实例代码
Jan 14 PHP
php socket通信(tcp/udp)实例分析
Feb 14 PHP
php语法检查的方法总结
Jan 21 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 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
建立文件交换功能的脚本(一)
2006/10/09 PHP
非常不错的MySQL优化的8条经验
2008/03/24 PHP
php中文验证码实现方法
2015/06/18 PHP
PHP从二维数组得到N层分类树的实现代码
2016/10/11 PHP
5 cool javascript apps
2007/03/24 Javascript
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
JS实现向表格中动态添加行的方法
2015/03/30 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
详解AngularJS之$window窗口对象
2018/01/17 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
关于python写入文件自动换行的问题
2018/06/23 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
冰淇淋店创业计划书范文
2013/12/27 职场文书
父亲追悼会答谢词
2014/01/17 职场文书
采购部长岗位职责
2014/06/13 职场文书
电教室标语
2014/06/20 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python