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数据源表结构图示
Jun 05 PHP
PHP 远程关机实现代码
Nov 10 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
Apr 25 PHP
php用header函数实现301跳转代码实例
Nov 25 PHP
php统计时间和内存使用情况示例分享
Mar 13 PHP
php图片添加文字水印实现代码
Mar 15 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
Nov 09 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
Dec 15 PHP
PHP单例模式简单用法示例
Jun 23 PHP
详解PHP素材图片上传、下载功能
Apr 12 PHP
thinkphp5框架路由原理与用法详解
Feb 11 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 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
收音机怀古---春雷3P7图片欣赏
2021/03/02 无线电
PHP HTML代码串截取代码
2008/12/29 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
php析构函数的具体用法小结
2014/03/11 Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
2015/03/04 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
JavaScript中数据类型转换总结
2016/12/25 Javascript
vueScroll实现移动端下拉刷新、上拉加载
2019/03/22 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
Vue实现手机扫描二维码预览页面效果
2020/05/28 Javascript
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
python 有效的括号的实现代码示例
2019/11/11 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
CSS3实现图片抽屉式效果的示例代码
2019/11/06 HTML / CSS
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
美国百货齐全的精品网站,提供美式风格的产品:Overstock.com
2016/07/22 全球购物
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
管理科学大学生求职信
2013/11/13 职场文书
电子商务专业学生职业生涯规划
2014/03/07 职场文书
小学清明节活动方案
2014/03/08 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
公司搬迁通知
2015/04/20 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书
Django基础CBV装饰器和中间件
2022/03/22 Python
什么是Python装饰器?如何定义和使用?
2022/04/11 Python
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang