0

嗨,我正在尝试使用 php 来回显一组从 0.5 一直到 1 的随机数字;所以 05, 0.6, 0.7, 0.8 > 1

我目前正在回显一个用户列表,因此需要将这些数字与每个用户随机回显。

是否有捷径可寻?

<?php
    $local_set = get_local_users();
    $local_count = mysql_num_rows($local_set);
    while ($local = mysql_fetch_array($local_set)) {

        echo "<div class=\"sugarushcase\">
        <a href=\"profile.php?id={$local['id']}\"><img width=80px height= 80px src=\"data/photos/{$local['id']}/_default.jpg\" class=\"boxgrid\"/></a><div class=\"local_text\">about (RANDOM NUBER) mile</div>
        </div>";

    }
4

3 回答 3

3

使用mt_rand()

$rand = mt_rand(5, 10) / 10;

您可以在 之前为每次迭代计算此随机数,然后在您的示例中echo使用$rand而不是。(RANDOM NUMBER)

于 2013-03-12T15:44:17.323 回答
1

您可以使用rand传递最小值和最大值来实现此目的:

rand (5, 10) / 10

您的代码将是:

echo "<div class=\"sugarushcase\">
    <a href=\"profile.php?id={$local['id']}\"><img width=80px height= 80px" + 
    "src=\"data/photos/{$local['id']}/_default.jpg\" class=\"boxgrid\"/></a><div class=\"local_text\">about" + 
    (rand (5, 10) / 10) + "mile</div></div>";
于 2013-03-12T15:44:08.347 回答
0

是的,这是您编辑的代码。

<?php
$local_set = get_local_users();
$local_count = mysql_num_rows($local_set);
$random_number = mt_rand (0.5*10, 1.0*10) / 10; //Edit min/max values here
while ($local = mysql_fetch_array($local_set)) {

    echo "<div class=\"sugarushcase\">
    <a href=\"profile.php?id={$local['id']}\"><img width=80px height= 80px src=\"data/photos/{$local['id']}/_default.jpg\" class=\"boxgrid\"/></a><div class=\"local_text\">about {$random_number} mile</div>
    </div>";

}

它是在没有经过测试的情况下编写的,所以如果它不起作用,请发表评论,我会调查它:)

于 2013-03-12T15:52:47.027 回答