每次使用返回不同的随机PHP变量

时间:2016-12-19 13:04:18

标签: php

我在变量文件中设置了这个PHP变量:

$random_annotation = $config->urls->templates . '/img/annotations/Annotations-' . str_pad(rand(1, 40), 2, '0', STR_PAD_LEFT) . '.svg';

如果我在页面上多次使用<?php echo $random_annotation; ?>,则会返回相同的“随机”值。有没有办法让它在每次使用时返回不同的值?

2 个答案:

答案 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的文档。