Можно использовать массив с названиями подключаемых файлов и перемешивать его с помощью <a href="https://www.php.net/manual/ru/function.shuffle.php" rel="nofollow">shuffle</a> перед выводом. <br/> Выводить в цикле. <br/> <pre><code class="php">$files = [
'file-foo.php',
'file.php',
'file2.php',
'file-bar.php',
'file3.php',
];
shuffle($files);
foreach ($files as $file) {
include ($file);
}</code></pre> <br/> <br/> Если файлов много, 10 файлов можно подключать, выбрав <a href="https://www.php.net/manual/ru/function.array-slice.php" rel="nofollow">срез</a> массива имен файлов <pre><code class="php">foreach (array_slice($files, 0, 10) as $file) {
include ($file);
}</code></pre> <br/> Однако операция shuffle для большого массива может быть затратной, по-этому вместо shuffle и array_slice можно воспользоваться <a href="https://www.php.net/manual/en/function.array-rand.php" rel="nofollow">array_rand</a> <br/> <pre><code class="diff">- shuffle($files);
- foreach ($files as $file) {
+ foreach (array_rand($files, 10) as $file) {
include ($file);
}</code></pre> Но array_rand не подойдет, если нужно сделать некую пагинацию (выводить первые 10 случайных файлов, затем следующие 10 других случайных файлов и в итоге вывести все файлы в случайном порядке, а затем поменять порядок и снова выводить по 10). Подход с array_slice позволит сделать такую пагинацию.