Here is a simple and, it seems to me, quite elegant solution that does not include storing values ββin a database, setting up cronjobs and other boring things.
Suppose you have list items in $array :
srand(date('W')); shuffle($array); srand();
Now your array is shuffled and will be shuffled in the same way as next Monday.
This problem has a problem: it does not work with the Suhosin patch (installed by default in Debian). However, now that you know about date('W') , it will be easy for you to find an alternative solution on your own.
EDIT: if you don't want to use your own pseudo-random number generator, but you have Suhosin installed, you can put the following line in your .htaccess :
php_value suhosin.srand.ignore 0
source share