我在变量文件中设置了这个PHP变量:
$random_annotation = $config->urls->templates . '/img/annotations/Annotations-' . str_pad(rand(1, 40), 2, '0', STR_PAD_LEFT) . '.svg';
如果我在页面上多次使用<?php echo $random_annotation; ?>
,则会返回相同的“随机”值。有没有办法让它在每次使用时返回不同的值?
答案 0 :(得分:1)
您需要将变量包装在功能块中,如下所示:
function random_ann() {
$random_annotation = $config->urls->templates . '/img/annotations/Annotations-' . str_pad(rand(1, 40), 2, '0', STR_PAD_LEFT) . '.svg';
return $random_annotation;
}
random_ann(); // A random expected string
这是因为您一次保存$random_annotation
变量而不是在检索之前更改它。
答案 1 :(得分:0)
您必须为随机数生成器播种。 (尝试使用系统时间)
Here是PHP的文档。