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 相关文章推荐
用Flash图形化数据(二)
Oct 09 PHP
常用的php对象类型判断
Aug 27 PHP
rrmdir php中递归删除目录及目录下的文件
May 15 PHP
PHP Global变量定义当前页面的全局变量实现探讨
Jun 05 PHP
php.ini save_handler 修改不生效的解决办法
Jul 22 PHP
php中count获取多维数组长度的方法
Nov 03 PHP
PHP使用内置函数file_put_contents写入文件及追加内容的方法
Dec 07 PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 PHP
PHP常见的6个错误提示及解决方法
Jul 07 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 PHP
PHP简单实现记录网站访问量功能示例
Jun 06 PHP
深入分析PHP设计模式
Jun 15 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中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
PHP实现的进度条效果详解
2016/05/03 PHP
php图片添加水印例子
2016/07/20 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
javascript 函数及作用域总结介绍
2013/11/12 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
元素全屏的设置与监听实例
2017/11/28 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
python的多重继承的理解
2017/08/06 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
Django ORM filter() 的运用详解
2020/05/14 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
单位提档介绍信
2014/01/17 职场文书
企业管理标语
2014/06/10 职场文书
计划生育宣传标语
2014/06/21 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
2015年商场工作总结
2015/04/27 职场文书
预备党员介绍人意见
2015/06/01 职场文书
值班管理制度范本
2015/08/06 职场文书
Android中的Launch Mode详情
2022/06/05 Java/Android