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 相关文章推荐
一个用于MySQL的PHP XML类
Oct 09 PHP
adodb与adodb_lite之比较
Dec 31 PHP
珊瑚虫IP库浅析
Feb 15 PHP
PHP 图像尺寸调整代码
May 26 PHP
php批量缩放图片的代码[ini参数控制]
Feb 11 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
排序算法之PHP版快速排序、冒泡排序
Apr 09 PHP
php单态设计模式(单例模式)实例
Nov 18 PHP
浅谈PHP中Stream(流)
Jun 08 PHP
PHP页面输出时js设置input框的选中值
Sep 30 PHP
CI(CodeIgniter)框架实现图片上传的方法
Mar 24 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 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
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
js从10种颜色中随机取色实现每次取出不同的颜色
2013/10/23 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
原生JS实现跑马灯效果
2017/02/20 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
船餐厅和泰晤士河餐饮游轮:Bateaux London
2018/03/19 全球购物
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
物理系毕业生自荐信
2013/11/01 职场文书
招商业务员岗位职责
2013/12/16 职场文书
自荐信写法介绍
2014/01/25 职场文书
酒店中秋节促销方案
2014/01/30 职场文书
KTV的创业计划书范文
2014/02/02 职场文书
护理人员的自我评价分享
2014/03/15 职场文书
热血教师观后感
2015/06/10 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang