mt_rand PHP - 几行数

时间:2017-09-20 16:12:40

标签: php

是否可以将mt_rand自定义为一个函数,该函数为我提供一行数字而不重复。

例如mt_rand(1,5)应该给我4,2,3,1,5之类的东西。

2 个答案:

答案 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

https://3v4l.org/Usa65

答案 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);