PHP将在页面刷新时包含随机网页部分


PHP rand to include random web page section on page refresh

PHP在页面刷新时包含随机网页部分。我需要一些php代码随机包括一个<section>包含链接在我的博客文章的底部。这段代码可以运行。

<?php
 $files = array("../inc/links/blog-links-bottom.php",
                "../inc/links/blog-links-bottom-1.php",
                "../inc/links/blog-links-bottom-2",
                "../inc/links/blog-links-bottom-3");
 include $files[array_rand($files)];
?>

但它并不总是包含它所缺失的<section>。此外,它并不总是在页面刷新上插入一个新的<section>,这就是我想要的。我对php不太熟悉。

任何帮助将非常感激!

$files = array("../inc/links/blog-links-bottom.php",
               "../inc/links/blog-links-bottom-1.php",
               "../inc/links/blog-links-bottom-2",
               "../inc/links/blog-links-bottom-3");
include($files[rand(0,(count($files)-1))]);

像这样填充数组会得到这样的数组:

array(
    [0] => "../inc/links/blog-links-bottom.php",
    ...
)

您需要在0(最低索引)和最高索引(数组层数,减1)之间获得一个随机键,以瞄准数组中的随机层。

试试这个:

include $files[rand(0,4)];

或简称

include array_rand($files);

明确你做错了什么:

$files是一个数字数组,所以它有像$files[0], $files[1] etc..这样的元素。

array_rand返回数组中的随机元素。

所以在你的例子中,array_rand($files)返回实例"../inc/links/blog-links-bottom-1.php"。在结合两者时,您正在调用$files["../inc/links/blog-links-bottom-1.php"],而这并不存在。