Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将带有时间的变量设置为随机变量_Php_Variables_Random - Fatal编程技术网

Php 将带有时间的变量设置为随机变量

Php 将带有时间的变量设置为随机变量,php,variables,random,Php,Variables,Random,如果我设置一个变量如下: $randNum = md5(time()); 并用它来创建: $tempFileName = $randNum.'_temp.'.$type; 然后,在脚本的后面: $newFileName = $randNum.'_new.'.$type; 它是否会在第二次生成一个新的随机数,或者,$randNum值将与第一次相同?$randNum值将与第一次相同。如果有疑问,请进行测试: $randNum = md5(time()); echo $randNum; slee

如果我设置一个变量如下:

$randNum = md5(time());
并用它来创建:

$tempFileName = $randNum.'_temp.'.$type;
然后,在脚本的后面:

$newFileName = $randNum.'_new.'.$type;

它是否会在第二次生成一个新的随机数,或者,
$randNum
值将与第一次相同?

$randNum值将与第一次相同。如果有疑问,请进行测试:

$randNum = md5(time());
echo $randNum;
sleep(5);// sleep for 5 seconds
echo $randNum;
这些值将是相同的。

试试这个

$newFileName = $randNum.'_new.'.$type;
而不是

$newFileName == $randNum.'_new.'.$type;
输出:

87bc7ff76220f988dd191bd804482bff_temp.
87bc7ff76220f988dd191bd804482bff_new.  

您使用的是
$randNum=md5(time())使用一次后再次使用?如果不调用
$randNum=md5(time()),则与第一次相同再次生成生成随机数的函数,并反复调用该函数。例如,
function RandomNumber(){return md5(time());}
,测试用例:
For($i=0;$i这里有一个竞争条件。
time()
的粒度只有1秒。如果脚本在一秒钟内运行两次,那么第二次运行它将覆盖第一次运行的文件。还要记住,使用
time()
不是一个好主意,因为它可能会充斥着并发访问,相反,使用“应该”?您可以将其更改为“必须”。如果它们不一样,则说明您的PHP存在严重问题。:)我认为您必须将其更改为必须。是的,我已经更改了措辞。谢谢你的注意。对不起,有问题。我没有使用
==
:)