-4

我有 6 个 html 文件(test1.html、test2.html、test3.html 等),我希望其中 3 个随机显示,没有重复。然后每次加载网页时都会使用不同的顺序和文件。

说:test1.html,test4.html,test2.html

或者:test5.html、test2.html、test3.html

或者:test3.html、test6.html、test2.html

等等......没有重复

我从上一个问题中得到了这个 php 代码,这是一个好的开始。它只包含 1 个我需要 3 个的 html 文件?

<?php
$files = glob('*.html');
$random_file = $files[array_rand($files)];
include($random_file);
?>

用 PHP 加载随机 .html 文件?

非常感谢任何帮助,谢谢。

4

1 回答 1

2

根据您上面的示例。

$i = 0;
while($i < 3) {

    $randInt = rand(1, 6);
    if(isset($used)) {
        while($a < 1) {
            if(array_search($randInt, $used)) {
                $a++;
            } else {
                $randInt = rand(1, 6);
                continue;
            }
        }
    }
    include_once("path/to/test$randInt.html");
    $used[] = $randInt;
$i++;
}

基于 AD7six 的想法,这更加简洁,并且还允许使用非数字文件名:

$files = array(
    1=>'file_foo.html',
    2=>'file2_bar.html',
    3=>'file3_make.html',
    4=>'file4_it.html',
    5=>'file5_more.html',
    6=>'file6_succinct.html');

shuffle($files);

for($i=0;$i<3;$i++) {
    include_once("path/to/$files[$i]");
}
于 2013-09-26T16:27:48.293 回答