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 相关文章推荐
php daodb插入、更新与删除数据
Mar 19 PHP
php 一元分词算法
Nov 30 PHP
PHP 作用域解析运算符(::)
Jul 27 PHP
PHP下判断网址是否有效的代码
Oct 08 PHP
yii框架中的Url生产问题小结
Jan 16 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
codeigniter上传图片不能正确识别图片类型问题解决方法
Jul 25 PHP
PHP实现下载断点续传的方法
Nov 12 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
Jan 12 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
Oct 03 PHP
PHP jQuery+Ajax结合写批量删除功能
May 19 PHP
PHP按一定比例压缩图片的方法
Oct 12 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 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
2012/03/07 PHP
PHP贪婪算法解决0-1背包问题实例分析
2015/03/23 PHP
php微信公众号开发模式详解
2016/11/28 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
YII框架关联查询操作示例
2019/04/29 PHP
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
python多重继承实例
2014/10/11 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
解决django model修改添加字段报错的问题
2019/11/18 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
口腔医学技术应届生求职信
2013/11/09 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
初三学生评语大全
2014/04/24 职场文书
关于爱国的标语
2014/06/24 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
商家认证委托书格式
2014/10/16 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
员工离职通知函
2015/04/25 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
python编写五子棋游戏
2021/05/25 Python
Vue实现导入Excel功能步骤详解
2021/07/03 Vue.js