【问题标题】:how do i generate series of numbers?我如何生成一系列数字?
【发布时间】:2013-04-27 11:04:19
【问题描述】:

我需要帮助来生成一系列数字,它应该在以下情况下生成一系列数字 form is submitted我有代码但是不能正常工作?

例如我想要这样

00500
00501
00502
00503  and so on...

这是我的代码

$random = rand(500,999);
$new_val = $random+1;
for($i=1;$i<=$new_val;$i++)
{
if( strlen($i)==1 )
{
$say='0000'.$i;
}
elseif( strlen($i)==2 )
{
$say='000'.$i;
}
elseif( strlen($i)==3 )
{
$say='00'.$i;
}
elseif( strlen($i)==4 )
{
$say='0'.$i;
}
elseif( strlen($i)==5 )
{
$say=$i;
}
}

<form method="post">
<input class="input_field" readonly="readonly" type="text" 
name="sno" id="sno" value="<?=$say?>"  >
<input type="submit" name="test" value="submit" />
</form>

【问题讨论】:

    标签: php random numbers series


    【解决方案1】:

    使用sprintf 格式化:

    <?php
    
    $start = rand(500, 999);
    
    for ($i = 1; $i <= $start; $i++) {
        $num = sprintf("%05d", $i);
        echo $num;
    }
    
    ?>
    

    【讨论】:

    • rand(500, 999) 不应在 for 循环中,因为它是在每个循环中进行评估的。
    • @F.C.:谢谢,我完全错过了。
    【解决方案2】:

    正如 Blender 所说,使用 sprintf 格式化您的数字

    $start = rand(500, 999);
    for ($i = $start; $i <= 999; $i++) {
        $num = sprintf("%1$05d", $i);
        echo $num . '<br>';
    }
    

    注意form 必须包含一个“动作”属性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 2014-03-12
      相关资源
      最近更新 更多