php 从一个数组中随机的取出若干个不同的数实例


Posted in PHP onDecember 31, 2016

第一种算法,CSDN上别人的想法 

$num = 0; 
  $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9); 
  $arr = array(); 
  $g = 5; 
  $tag = true; 
  while ($tag) { 
    $count = count($array); 
    $t = rand(0, 1); 
    if ($t == 1) { 
      $arr[] = $array[$num]; 
      unset($array[$num]); 
    } 
    $num ++; 
    if (count($arr) == $g) { 
      $tag = false; 
    } 
    if ($num == $count) { 
      $num = 0;  //循环 
    } 
  } 
 var_dump($arr);

 第二种算法,自己想的。

可以在每次取出数据之后将该数据和最后没有获取的数据替换,然后再去没有取得的数据中随机获取值  

function swap(&$a, &$b) 
  { 
    $temp = $b; 
    $b = $a; 
    $a = $temp; 
  } 
   
   
  $result = array(); 
  $src = array(); 
  for($i = 0 ; $i < 40 ; $i++) 
  { 
    $src[] = $i + 1; 
  } 
  $arr_len = count($src); 
  $count = 20; 
  $index = 0; 
  while($index < $count) 
  { 
    $random = rand(0, $arr_len - $index - 1); 
    $result[] = $src[$random]; 
    swap($src[$random] , $src[$arr_len - $index - 1]); 
    $index += 1; 
  } 
   
   
  print_r(json_encode($result)); 
  print_r(json_encode($src));

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
PHP序列号生成函数和字符串替换函数代码
Jun 07 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
Nov 14 PHP
php多文件上传实现代码
Feb 20 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
PHP中的类型提示(type hinting)功能介绍
Jul 01 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
php支持断点续传、分块下载的类
May 02 PHP
PHP怎样用正则抓取页面中的网址
Aug 09 PHP
详解PHP使用Redis存储session时的一个Warning定位
Jul 05 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 30 PHP
PHP文件操作详解
Dec 30 #PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 #PHP
CI框架实现框架前后端分离的方法详解
Dec 30 #PHP
php mysql实现mysql_select_db选择数据库
Dec 30 #PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
Dec 29 #PHP
微信公众号模板消息群发php代码示例
Dec 29 #PHP
PHP实现截取中文字符串不出现?号的解决方法
Dec 29 #PHP
You might like
php Mysql日期和时间函数集合
2007/11/16 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
thinkPHP框架中执行原生SQL语句的方法
2017/10/25 PHP
css图片自适应大小
2007/11/28 Javascript
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
2015/03/03 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
jQuery编写QQ简易聊天框
2020/08/27 jQuery
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
python爬取Ajax动态加载网页过程解析
2019/09/05 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
Python实现随机爬山算法
2021/01/29 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
英国领先的体验日提供商:Buyagift
2019/04/19 全球购物
Speedo速比涛法国官方网站:泳衣、泳镜、泳帽、泳裤
2019/07/30 全球购物
思想政治教育专业个人求职信范文
2013/12/20 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
网络管理员岗位职责
2015/02/12 职场文书
放射科岗位职责
2015/02/14 职场文书
结婚仪式主持词
2015/06/29 职场文书
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL