Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何只返回一次随机字符串?_Php_Wordpress - Fatal编程技术网

Php 如何只返回一次随机字符串?

Php 如何只返回一次随机字符串?,php,wordpress,Php,Wordpress,我到处寻找答案,但似乎到处都找不到 <?php $f_contents = file("x.txt"); $line = $f_contents[rand(0, count($f_contents) - 1)]; echo($line); ?> 目前,我在每次加载页面时都会得到随机结果,但只需返回字符串一次。我使用的是Wordpress,所以我希望只有在创建页面时才能这样做 有什么想法吗?您可以使用PHP内置的uniqid()函数: 创建页面时,需要向页面中添加一段元信息 您

我到处寻找答案,但似乎到处都找不到

<?php
$f_contents = file("x.txt"); 
$line = $f_contents[rand(0, count($f_contents) - 1)];
echo($line);
?>

目前,我在每次加载页面时都会得到随机结果,但只需返回字符串一次。我使用的是Wordpress,所以我希望只有在创建页面时才能这样做


有什么想法吗?

您可以使用PHP内置的
uniqid()
函数:


创建页面时,需要向页面中添加一段元信息


您可以通过创建自己的插件来实现这一点。

添加一个包含posts ID的选项,并仅在该选项尚不存在时设置该选项

function random_option($id, $file){

if(get_option("rand_option".$id))
     return get_option("rand_option".$id);

$f_contents = file($file); 
$value = $f_contents[rand(0, count($f_contents) - 1)];
add_option( "rand_option".$id, $value );

return $value;

}
那就叫它:

echo random_option(get_the_ID(), "file.txt");

在所有页面加载之间只有一次?你把代码放在哪里了?哪个文件?是的,只有一次,杰森。代码在页面内容中,在列表中。该文件是一个带有链接的文本文档,每行一个。但这不会从OP的文件加载!或者,如果只想在所有页面加载中返回一次,请将第一次返回设置为0