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 相关文章推荐
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
Mar 15 PHP
Php Ctemplate引擎开发相关内容
Mar 03 PHP
深入掌握include_once与require_once的区别
Jun 17 PHP
PHP输出两个数字中间有多少个回文数的方法
Mar 23 PHP
php简单判断文本编码的方法
Jul 30 PHP
php验证码的制作思路和实现方法
Nov 12 PHP
给WordPress中的留言加上楼层号的PHP代码实例
Dec 14 PHP
Yii框架组件和事件行为管理详解
May 20 PHP
php 在字符串指定位置插入新字符的简单实现
Jun 28 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
php批量删除操作(数据访问)
May 23 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 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
S900/ ETON E1-XM 收音机
2021/03/02 无线电
在WIN98下以apache模块方式安装php
2006/10/09 PHP
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
PHP对文件进行加锁、解锁实例
2015/01/23 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
phpwind放自动注册方法
2006/12/02 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
node简单实现一个更改头像功能的示例
2017/12/29 Javascript
JS拖拽排序插件Sortable.js用法实例分析
2019/02/20 Javascript
layui的数据表格+springmvc实现搜索功能的例子
2019/09/28 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
Python模块结构与布局操作方法实例分析
2017/07/24 Python
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
使用Python+wxpy 找出微信里把你删除的好友实例
2019/02/21 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
详解Python设计模式之策略模式
2020/06/15 Python
python 常见的排序算法实现汇总
2020/08/21 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
J2EE是技术还是平台还是框架
2016/08/14 面试题
大学生的网上创业计划书
2013/12/31 职场文书
办公自动化专业大学生职业规划书
2014/03/06 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
党员专题组织生活会发言材料
2014/10/17 职场文书
2014年心理健康教育工作总结
2014/12/06 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
小学班级口号大全
2015/12/25 职场文书
pytorch查看网络参数显存占用量等操作
2021/05/12 Python