Php Rand()返回相同的值;在隐藏的输入中

Php Rand()返回相同的值;在隐藏的输入中,php,Php,出于某种原因,如果我尝试为隐藏的输入类型分配一个值,那么我总是会得到相同的值(1),我可以使用javascript(而不是php)为其分配一个值 <?php $num = rand(1, 4); ?> <?php echo $num; ?><?php echo $num; ?><?php echo $num; ?> <input type="hidden" value="<?php

出于某种原因,如果我尝试为隐藏的输入类型分配一个值,那么我总是会得到相同的值(1),我可以使用javascript(而不是php)为其分配一个值

<?php
 $num = rand(1, 4);                     
?>  

 <?php echo $num; ?><?php echo $num; ?><?php echo $num; ?>

<input type="hidden" value="<?php echo $num; ?>" name="catch_num1">

不可能<代码>兰德(最小值,最大值)
总是给出最小值和最大值之间的值

您是否尝试过兰德(4,14)?它也给你1吗?您确定要回显实际上是这个而不是另一个的
$\u POST
值吗

试用

编辑:嗯,我发现了很多相同问题的结果。但每个人都有自己的理由


例如,如果您使用的是Firefox,请使用CTRL+F5刷新以忽略缓存。随机数可能存储在缓存中或其他什么东西

可能是您在调用
rand

之前将常量值设置为in,我刚刚运行了您的代码,实际上每次它都会给我不同的值,就像您希望的那样。(PHP5.3.6)奇怪……是的,我也看不出这里有什么错。不过也有一些建议。别忘了关闭
输入
标签,如
。您可以缩短echo$num的
通过执行
和另一个技巧
echo str_repeat($num,3)
。在我只更改了值和名称的位置之后,它就开始工作了???@Jules
注意:从PHP4.2.0开始,不需要使用srand()或mt_srand()为随机数生成器种子,因为现在是自动完成的。
是,但如果OP使用错误,可能会导致问题。