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 相关文章推荐
CakePHP去除默认显示的标题及图标的方法
Oct 22 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
Mar 28 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
Dec 05 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
May 04 PHP
常用PHP封装分页工具类
Jan 14 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
php取出数组单个值的方法
Mar 12 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 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自动加载机制的深入分析
2013/06/08 PHP
PHP session文件独占锁引起阻塞问题解决方法
2015/05/12 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
php实现异步数据调用的方法
2015/12/24 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
通过命令行生成vue项目框架的方法
2017/07/12 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
Python中操作MySQL入门实例
2015/02/08 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
python文件操作的简单方法总结
2019/11/07 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
CSS3中新增的对文本和字体的设置
2020/02/03 HTML / CSS
英国百安居装饰建材网上超市:B&Q
2016/09/13 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
宠物店的创业计划书范文
2014/01/11 职场文书
企业催款函范本
2015/06/24 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
Python实现视频自动打码的示例代码
2022/04/08 Python
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers