gpt4 book ai didi

php - 每周洗牌数组

转载 作者:可可西里 更新时间:2023-10-31 23:34:08 24 4
gpt4 key购买 nike

我有一组 4 个 HTML 列表项,我想每周打乱它们出现的顺序。我想知道是否有人对此有一个漂亮、优雅的解决方案?

一如既往,如果您有任何意见,我将不胜感激!

更新:

不幸的是,即使有必要的 .htaccess 覆盖,我也无法获得任何基于 srand() 的解决方案来在这个特定的服务器上工作,但有以下可以替代使用的解决方案 - 目前,它只返回一个列表项 - 我如何修改它以显示所需的四个?再一次,任何想法都将不胜感激:)

function RandomList($TimeBase, $QuotesArray){

$TimeBase = intval($TimeBase);

$ItemCount = count($QuotesArray);

$RandomIndexPos = ($TimeBase % $ItemCount);

return $QuotesArray[$RandomIndexPos];

}

$WeekOfTheYear = date('W');

$RandomItems = array(
"<li><a href=\"#northern-germany\" title=\"Northern Germany\">North</a></li>","<li><a href=\"#southern-germany\" title=\"Southern Germany\">South</a></li>","<li><a href=\"#western-germany\" title=\"Western Germany\">West</a></li>","<li><a href=\"#eastern-germany\" title=\"Eastern Germany\">East</a></li>");

print RandomList($WeekOfTheYear, $RandomItems);

最佳答案

这是一个简单且 - 我猜 - 非常优雅的解决方案,它不涉及在数据库中存储值、设置 cronjobs 和其他类似的无聊内容。

假设您的列表元素在 $array 中:

srand(date('W'));
shuffle($array);
srand();

现在你的数组已经打乱了,并且将以同样的方式打乱直到下周一。

但这有一个问题:它不适用于 Suhosin 补丁(在 Debian 中默认安装)。尽管如此,既然您了解了 date('W'),您自己想出替代解决方案将很容易。

编辑:如果您不想实现自己的伪随机数生成器但安装了 Suhosin,则可以将以下行放入 .htaccess:

php_value suhosin.srand.ignore 0

关于php - 每周洗牌数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7468480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com