Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-生成无重复的随机数_Php - Fatal编程技术网

PHP-生成无重复的随机数

PHP-生成无重复的随机数,php,Php,我正在用PHP7构建一个降临节日历,并希望以随机顺序显示日期1-24 我有一个jquery插件,它可以随机化我的div元素,但它不是很好,我想知道如何在PHP中实现它 我输出日期的代码(简而言之)如下所示: for ($d = 1; $d <= 24; $d++) { echo $d; } 然后在选择新日期时选中$used\u dates,例如 $unique_date = false; while (!$unique_date) { $date = rand(1, 24

我正在用PHP7构建一个降临节日历,并希望以随机顺序显示日期1-24

我有一个jquery插件,它可以随机化我的
div
元素,但它不是很好,我想知道如何在PHP中实现它

我输出日期的代码(简而言之)如下所示:

for ($d = 1; $d <= 24; $d++) {
    echo $d;
}
然后在选择新日期时选中
$used\u dates
,例如

$unique_date = false;
while (!$unique_date) {
    $date = rand(1, 24);
    if (!in_array($date, $used_dates)) {
       $used_dates[] = $date;
       $unique_date = true;
    }
}
但这似乎效率低下。有更好的方法吗?

您可以使用shuffle()方法

Shuffle()获取数组并随机排列行

$array = array("a", "b", "c");
shuffle($array);
// OUTPUT is random
您可以使用shuffle()方法

Shuffle()获取数组并随机排列行

$array = array("a", "b", "c");
shuffle($array);
// OUTPUT is random

在您的情况下,您需要创建数字的范围数组,然后简单地将它们洗牌

$days = range(1,24);
shuffle($days);

在您的例子中,您需要创建数字的范围数组,然后简单地将它们洗牌

$days = range(1,24);
shuffle($days);
就这些