Php 如何将数字集分隔到单独的行上

Php 如何将数字集分隔到单独的行上,php,newline,Php,Newline,关于脚本: <?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))]; }

关于脚本:

<?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);

?>
下面的脚本将创建300组随机字符

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

为了实现这一目标,我做了很多搜索和测试,但都没有成功

我想知道哪些代码和放在哪里,这样每一组(300)的15个字符长,将显示并保存到文件中

这是我的脚本:

<?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);

?>

模运算符(
%
)将允许您检查定期间隔

for ($x = 0; $x <= 299; $x++) {
    echo $characters[$x];
    if ($x % 15 == 14) {
        echo "\n";
    }
}

for($x=0;$x修改您的
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;
}
函数GetID($x){
$characters=array_merge(范围('A','Z')、范围('A','Z')、范围(2,9));
洗牌($characters);
$ReqID='';
对于($i=0;strlen($ReqID)0&$i%15==0)
$REQUID.=“\n”;
}
返回$REQUID;
}

谢谢David。它在一定程度上可以通过在15个字符的序列之间放置空格来处理一定数量的序列,但随后停止并在末尾生成一个很长的字符串。它不会在各自的行中回显/写入文件。@Fred-您只在数组中放入60个字符,因此
299
应该是
59
或者更好的
$x
。尝试过了,也没用。我可能会尝试在每个“x位置”插入回车符,然后写回文件。今晚这个时候已经太晚了。我最初的目标是,创建一个包含300组随机字符(数字和字母)的列表大约15个字符长,并将它们放在自己的行中,一个在另一个下面,将其回显到屏幕并将其写入文件。循环任意多个随机行。在其中,洗牌字符,然后使用换行符打印前15行。