首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用范围函数生成非唯一数组

如何使用范围函数生成非唯一数组
EN

Stack Overflow用户
提问于 2017-02-03 20:52:22
回答 4查看 50关注 0票数 0

range(1, 12)函数生成以下数组:

代码语言:javascript
运行
复制
array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)

如何生成长度为12的数组,其数字介于1至12之间,但具有随机重复值,例如:

代码语言:javascript
运行
复制
array(1, 2, 2, 12, 5, 1, 2, 7, 3, 4, 5, 9)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-02-03 20:55:50

我有点无聊,所以我可能会想出更多的方法,但只需创建范围并对其进行转换:

代码语言:javascript
运行
复制
$result = array_map(function($v) { return rand(1, 12); }, range(1, 12));
票数 4
EN

Stack Overflow用户

发布于 2017-02-03 20:59:11

像这样?

代码语言:javascript
运行
复制
<?php

function randomRange($start,$end)
{
  $array = array();
  for($i=$start;$i<=$end;$i++){
      $array[] = rand($start,$end);
  }
  return $array;
}
$a = randomRange(1,12);
print_r($a);

?>
票数 1
EN

Stack Overflow用户

发布于 2017-02-03 21:11:37

发电机版本:

代码语言:javascript
运行
复制
function rrange($start, $end) {
    foreach (range($start, $end) as $_) {
        yield rand($start, $end);
    }
}

var_dump(iterator_to_array(rrange(1, 12)));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42032839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档