【问题标题】:Splitting an php array into teams将 php 数组拆分为团队
【发布时间】:2018-05-04 15:14:25
【问题描述】:

我有一个包含随机数量元素的数组(这是一个在线游戏 * 每次随机数量的用户)。我想把这个数组分成两队, 这是如何实现的?

我有一个数组示例,其中 4 和 3 是用户的 ID。

Array ( [0] => 4 [1] => 3 )

我没有找到太多这方面的信息,而且我发现的信息对我来说很难理解,所以我非常感谢一些关于我如何做到这一点的解释。

如果我没有提供足够的信息,请告诉我! 感谢您花时间阅读我的问题!

//更新 将有2个团队。 每支球队的球员人数没有上限,但最好每支球队有 15 名球员。

【问题讨论】:

  • 分队背后的逻辑是什么?
  • 如果您能给出一个更完整的输入示例以及它在输出中的外观,那将会有所帮助。
  • 用户将被分配一个团队并完成任务以赢得另一个团队。
  • 数组应该分成几组?是固定数量的团队吗?每个团队有人数上限吗?
  • 我认为两个团队会很完美:)

标签: php arrays random


【解决方案1】:

你可以使用数组块http://php.net/manual/en/function.array-chunk.php

$input_array = array('a', 'b', 'c', 'd', 'e');
$count = ceil(count($input_array)/2);  // since you require 2 teams, you need to divide by 2
shuffle($input_array);
$teams =array_chunk($input_array,$count);

这将创建两个团队。

【讨论】:

    【解决方案2】:

    您可以使用array_chunk 并在数组上另外添加shuffle 函数

    $array = [1, 2, 3, 4];
    $teams = 2;
    $result = array_chunk(shuffle($array), sizeof($array) / $teams)
    

    【讨论】:

    • 你的意思是sPlice,所以数组的其余部分也可以使用。
    • 我downote的原因:这个答案不起作用3v4l.org/jInQW 总是测试你的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    相关资源
    最近更新 更多