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 相关文章推荐
excellent!――ASCII Art(由目标图象生成ascii)
Feb 20 PHP
PHP中动态显示签名和ip原理
Mar 28 PHP
PHP学习 运算符与运算符优先级
Jun 15 PHP
PHP得到某段时间区间的时间戳 php定时任务
Apr 12 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
php调用C代码的实现方法
Mar 11 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
Oct 08 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
php实现贪吃蛇小游戏
Jul 26 PHP
PHP registerXPathNamespace()函数讲解
Feb 03 PHP
php模式设计之观察者模式应用实例分析
Sep 25 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 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
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
PHP mcrypt可逆加密算法分析
2011/07/19 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
PHP判断远程图片或文件是否存在的实现代码
2014/02/20 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
2016/05/09 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
layui实现点击按钮给table添加一行
2018/08/10 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
python的dict,set,list,tuple应用详解
2014/07/24 Python
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
python无限生成不重复(字母,数字,字符)组合的方法
2018/12/04 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
Python企业编码生成系统之系统主要函数设计详解
2019/07/26 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
金属材料工程个人求职的自我评价
2013/12/04 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
七一建党日演讲稿
2014/09/05 职场文书
公务员考察材料
2014/12/23 职场文书
房产公证书格式
2015/01/26 职场文书
义诊活动通知
2015/04/24 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
Django操作cookie的实现
2021/05/26 Python