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 相关文章推荐
使用sockets:从新闻组中获取文章(三)
Oct 09 PHP
php Notice: Undefined index 错误提示解决方法
Aug 29 PHP
php expects parameter 1 to be resource, array given 错误
Mar 23 PHP
php设计模式 Singleton(单例模式)
Jun 26 PHP
PHP高自定义性安全验证码代码
Nov 27 PHP
php数字游戏 计算24算法
Jun 10 PHP
gd库图片下载类实现下载网页所有图片的php代码
Aug 20 PHP
PHP中根据IP地址判断城市实现城市切换或跳转代码
Sep 04 PHP
深入PHP数据加密详解
Jun 18 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
Sep 29 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
Dec 05 PHP
PHP保存session到memcache服务器的方法
Jan 19 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
全国FM电台频率大全 - 1 北京市
2020/03/11 无线电
使用php4加速网络传输
2006/10/09 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
php中unserialize返回false的解决方法
2014/09/22 PHP
PHP中soap的用法实例
2014/10/24 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
2017/05/20 PHP
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
2010/09/12 Javascript
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
2011/08/28 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
jQuery往返城市和日期查询实例讲解
2015/10/09 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
原生JS中slice()方法和splice()区别
2017/03/06 Javascript
解决node-sass偶尔安装失败的方法小结
2018/12/05 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
wxPython 入门教程
2008/10/07 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
TensorFlow Session使用的两种方法小结
2018/07/30 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
python3实现点餐系统
2019/01/24 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
详解HTML5 录音的踩坑之旅
2017/12/26 HTML / CSS
世界上最大的各式箱包网络零售店:eBag
2016/07/21 全球购物
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
最新大学生自我评价
2013/09/24 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
检讨书格式
2015/01/23 职场文书
2015年管理人员工作总结
2015/05/13 职场文书
期中考试后的感想
2015/08/07 职场文书