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 相关文章推荐
动态网站web开发 PHP、ASP还是ASP.NET
Oct 09 PHP
需要注意的几个PHP漏洞小结
Feb 05 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
PHP 导出Excel示例分享
Aug 18 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
Apr 01 PHP
PHP实现事件机制实例分析
Jun 26 PHP
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
Jul 01 PHP
php将远程图片保存到本地服务器的实现代码
Aug 03 PHP
php文件扩展名判断及获取文件扩展名的N种方法
Sep 12 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
Sep 13 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
Aug 09 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 adodb连接mssql解决乱码问题
2009/06/12 PHP
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
记录PHP错误日志 display_errors与log_errors的区别
2012/10/09 PHP
php ios推送(代码)
2013/07/01 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
PHP中的self关键字详解
2019/06/23 PHP
使用node.js 制作网站前台后台
2014/11/13 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
一个手写的vue放大镜效果
2019/08/09 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
iview实现图片上传功能
2020/06/29 Javascript
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
Pyramid将models.py文件的内容分布到多个文件的方法
2013/11/27 Python
python发腾讯微博代码分享
2014/01/10 Python
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
Python制作数据导入导出工具
2015/07/31 Python
Android分包MultiDex策略详解
2017/10/30 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
int在python中的含义以及用法
2019/06/27 Python
Flask教程之重定向与错误处理实例分析
2019/08/01 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
介绍一下Linux中的链接
2016/05/28 面试题
工地安全检查制度
2014/02/04 职场文书
质量承诺书格式
2014/05/20 职场文书
办理信用卡工作证明
2014/09/30 职场文书
公证书格式
2015/01/23 职场文书
详解vue中v-for的key唯一性
2021/05/15 Vue.js