使用数组

时间:2017-06-17 03:20:27

标签: php arrays random slice chunks

我需要从一个简单的php数组中创建3个具有3个不同随机值的数组。最好的方法是什么?用array_rand()选择随机密钥然后过滤数组中的密钥并再次选择另一组随机密钥?

$input = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);

示例输出:

array1 : 4, 2, 7
array2 : 8, 3, 15
array3 : 16, 1, 11

1 个答案:

答案 0 :(得分:2)

随机播放,将其截断为9个元素,然后将其分成3个元素。

代码:(Demo

$input = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
shuffle($input);
var_export(array_chunk(array_slice($input,0,9),3));

可能的输出:

array (
  0 => 
  array (
    0 => 5,
    1 => 2,
    2 => 11,
  ),
  1 => 
  array (
    0 => 3,
    1 => 8,
    2 => 4,
  ),
  2 => 
  array (
    0 => 12,
    1 => 13,
    2 => 15,
  ),
)