Можно использовать массив с названиями подключаемых файлов и перемешивать его с помощью
shuffle перед выводом.
Выводить в цикле.
$files = [
'file-foo.php',
'file.php',
'file2.php',
'file-bar.php',
'file3.php',
];
shuffle($files);
foreach ($files as $file) {
include ($file);
}
Если файлов много, 10 файлов можно подключать, выбрав
срез массива имен файлов
foreach (array_slice($files, 0, 10) as $file) {
include ($file);
}
Однако операция shuffle для большого массива может быть затратной, по-этому вместо shuffle и array_slice можно воспользоваться
array_rand
- shuffle($files);
- foreach ($files as $file) {
+ foreach (array_rand($files, 10) as $file) {
include ($file);
}
Но array_rand не подойдет, если нужно сделать некую пагинацию (выводить первые 10 случайных файлов, затем следующие 10 других случайных файлов и в итоге вывести все файлы в случайном порядке, а затем поменять порядок и снова выводить по 10). Подход с array_slice позволит сделать такую пагинацию.