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 相关文章推荐
将RTF格式的文件转成HTML并在网页中显示的代码
Oct 09 PHP
php中的实现trim函数代码
Mar 19 PHP
php项目打包方法
Feb 18 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
Feb 18 PHP
ThinkPHP实现事务回滚示例代码
Jun 23 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
PHP实现全角字符转为半角方法汇总
Jul 09 PHP
Zend Framework教程之Zend_Config_Xml用法分析
Mar 23 PHP
PHP7匿名类用法分析
Sep 26 PHP
PHP实现简单ajax Loading加载功能示例
Dec 28 PHP
PHP验证终端类型是否为手机的简单实例
Feb 07 PHP
PHP利用curl发送HTTP请求的实例代码
Jul 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生成txt文件标题及内容的方法
2014/01/16 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
详解node.js 事件循环
2020/07/22 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
Python如何实现动态数组
2019/11/02 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
Python如何定义有可选参数的元类
2020/07/31 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
2014年五四青年节活动方案
2014/03/29 职场文书
公证书标准格式
2014/04/10 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
2014年学生会工作总结范文
2014/11/07 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技