我需要从一个简单的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
答案 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,
),
)