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写的采集程序
Mar 16 PHP
php 表单数据的获取代码
Mar 10 PHP
ThinkPHP中实例Model方法的区别说明
Aug 21 PHP
《PHP编程最快明白》第八讲:php启发和小结
Nov 01 PHP
php foreach 参数强制类型转换的问题
Dec 10 PHP
php跨站攻击实例分析
Oct 28 PHP
PHP批量生成图片缩略图的方法
Jun 18 PHP
浅析php-fpm静态和动态执行方式的比较
Nov 09 PHP
PHP合并数组的2种方法小结
Nov 24 PHP
redis查看连接数及php模拟并发创建redis连接的方法
Dec 15 PHP
基于PHP实现微信小程序客服消息功能
Aug 12 PHP
php实现图片压缩处理
Sep 09 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
基于pear auth实现登录验证
2010/02/26 PHP
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
2010/09/01 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
php中namespace及use用法分析
2016/12/06 PHP
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
2016/12/12 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
三步搞定:Vue.js调用Android原生操作
2020/09/07 Javascript
Python实现字典的key和values的交换
2015/08/04 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
2017/07/25 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
Python-ElasticSearch搜索查询的讲解
2019/02/25 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
表彰先进的通报
2014/01/31 职场文书
应届毕业生应聘自荐信范文
2014/02/26 职场文书
小学教师师德承诺书
2014/05/23 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
员工开除通知书
2015/04/25 职场文书
学籍证明模板
2015/06/18 职场文书
校运会新闻稿
2015/07/17 职场文书
施工现场安全管理制度
2015/08/05 职场文书
小学语文教学随笔
2015/08/14 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python
MySQL 语句执行顺序举例解析
2022/06/05 MySQL