我正在使用PHP 7构建一个降临节日历,并希望以随机顺序显示日期1 - 24。
我有一个jquery插件可以随机化我的div
元素,但它不是很好,我想知道如何在PHP中完成它。
我输出日期的代码看起来(简单来说)如下:
for ($d = 1; $d <= 24; $d++) {
echo $d;
}
我的计划是使用rand(1, 24)
然后存储在数组中生成的任何数字,例如
$date = rand(1, 24);
$used_dates[] = $date;
然后在选择新日期时检查$used_dates
,例如
$unique_date = false;
while (!$unique_date) {
$date = rand(1, 24);
if (!in_array($date, $used_dates)) {
$used_dates[] = $date;
$unique_date = true;
}
}
但这似乎效率低下。还有更好的方法吗?
答案 0 :(得分:10)
在您的情况下,您需要创建范围数组,然后简单地将它们随机播放
$days = range(1,24);
shuffle($days);
多数人
答案 1 :(得分:3)
$numbers = range(1, 24);
shuffle($numbers);
答案 2 :(得分:2)
您可以使用shuffle()方法。
Shuffle()接受一个数组并随机排序。
$array = array("a", "b", "c");
shuffle($array);
// OUTPUT is random