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存在严重问题。:)我认为您必须将其更改为必须。是的,我已经更改了措辞。谢谢你的注意。对不起,有问题。我没有使用==
:)