一种不需要数组内存或数据库的方法是遵循增量图像命名约定,例如将图像命名为“banner1.jpg”、“banner2.jpg”等。然后你可以这样做:
$int_banners = 10; // the number of banner images you have
$i = rand(1, $int_banners);
echo "<a href='#'><img src='banner$i.jpg' alt=''></a>"; // add an iframe too if you want
如果您不能使用这样的约定,那么您可以创建一个仅包含文件名的数组(或使用 SQL 数据库来存储横幅,如其他答案中所建议的那样)。
$lst_banners = array("img1.jpg", "/home/img2.jpg", "/about/img3.jpg");
$int_banners = count($lst_banners);
$i = rand(0, ($int_banners - 1));
echo "<a href='#'><img src='" . $lst_banners[$i] . "' alt=''></a>";
或者更好的是,您可以使用array_rand()来查找文件名,如Zlatan所建议的:
$lst_banners = array("img1.jpg", "/home/img2.jpg", "/about/img3.jpg");
$name = array_rand($lst_banners, 1);
echo "<a href='#'><img src='$name' alt=''></a>";