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"]
,而这并不存在。