是否可以将mt_rand自定义为一个函数,该函数为我提供一行数字而不重复。
例如mt_rand(1,5)
应该给我4,2,3,1,5之类的东西。
答案 0 :(得分:2)
范围和随机播放。
$arr =Range(1,5); // array with items 1->5
Shuffle($arr); // shuffle them
Var_dump($arr);// output
// Or
Echo implode(",", $arr); // to match your expected output
答案 1 :(得分:1)
这可以实现您在问题中提出的要求:
$results = range(1, 5);
shuffle($results);
对于更复杂的需求,您可以使用Faker。
例如randomElements() method,此处选择1-10范围内的5个非重复数字:
$faker = \Faker\Factory::create();
$results = $faker->randomElements(range(1, 10), 5, false);
(但是,这也可以通过常规PHP轻松完成:)
$pool = range(1, 10);
shuffle($pool);
$results = array_slice($pool, 0, 5);