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如何得到当前页和上一页的地址?
Nov 27 PHP
PHP,ASP.JAVA,JAVA代码格式化工具整理
Jun 15 PHP
PHP文件锁定写入实例解析
Jul 14 PHP
PHP采用XML-RPC构造Web Service实例教程
Jul 16 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
Oct 16 PHP
CentOS6.5 编译安装lnmp环境
Dec 21 PHP
8个PHP数组面试题
Jun 23 PHP
PHP超全局数组(Superglobals)介绍
Jul 01 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
PHP实现小偷程序实例
Oct 31 PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 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
mysql数据库差异比较的PHP代码
2012/02/05 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
2014/04/01 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
AngularJS基础 ng-repeat 指令简单示例
2016/08/03 Javascript
JS查找字符串中出现最多的字符及个数统计
2017/02/04 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
2017/12/20 jQuery
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
JS解惑之Object中的key是有序的么
2019/05/06 Javascript
使用typescript构建Vue应用的实现
2019/08/26 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
vue $router和$route的区别详解
2020/12/02 Vue.js
python将图片文件转换成base64编码的方法
2015/03/14 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
详解使用python绘制混淆矩阵(confusion_matrix)
2019/07/14 Python
pycharm快捷键汇总
2020/02/14 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
浅谈python 类方法/静态方法
2020/09/18 Python
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
Proenza Schouler官方网站:纽约女装和配饰品牌
2019/01/03 全球购物
建筑工地宣传标语
2014/06/18 职场文书
工作表扬信范文
2015/01/17 职场文书
团员个人年度总结
2015/02/26 职场文书
简历自我评价模板
2015/03/11 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python