1

关于脚本:

下面的脚本将创建 300随机字符。

目前正在发生的事情是,它创建了它们,但将它们全部显示在一行中,一大块。

通过我为实现这一目标所做的所有搜索和测试,我没有成功。

我想知道哪个代码以及将它放在哪里,以便每个 15 个字符长的 SET (300) 将显示并保存到文件中。

这是我的脚本:

<?php

function GetID($x){

$characters = array_merge(range('A','Z'),range('a','z'),range(2,9));
shuffle($characters);


for($x=0;$x<=299;$x++){

}

for (; strlen($ReqID)<$x;){
$ReqID .= $characters[mt_rand(0, count($characters))];
}


return $ReqID;
}     

$ReqID .= GetID(5);
$ReqID .= "-";
$ReqID .= GetID(5);
$ReqID .= "-";
$ReqID .= GetID(5);


echo $ReqID;


$fh = fopen("file.txt","a+");
fwrite($fh, ("$ReqID")."\n");
fclose($fh);

?>
4

2 回答 2

1

模运算符 ( %) 将让您检查定期间隔。

for ($x = 0; $x <= 299; $x++) {
    echo $characters[$x];
    if ($x % 15 == 14) {
        echo "\n";
    }
}
于 2012-06-06T05:12:08.303 回答
1

修改您GetID的函数以在每 15 个字符处插入一个新行:

function GetID($x){
   $characters = array_merge(range('A','Z'),range('a','z'),range(2,9));
   shuffle($characters);
   $ReqID='';
   for ($i=0; strlen($ReqID)<300; $i++){
      $ReqID .= $characters[mt_rand(0, count($characters))];
      if ($i>0 && $i%15 == 0)
         $ReqID .= "\n";
   }
   return $ReqID;
}
于 2012-06-07T05:43:40.487 回答