所以我试图让一个随机字符串生成器与for循环一起工作。我已经让它循环它应该的次数,但它拒绝为每个循环生成一个新的字符串。有人可以看看我的代码并告诉我哪里出错了吗?也没有办法使用unqid所以请不要提及它。
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$key = $_POST['keysd'];
if(isset($key) && is_string($key))
{
switch($key)
{
case "ksc";
$algor = "78.0000.".rnumstr(7);
break;
case "kpl";
$algor = "76.0000.".rnumstr(7);
break;
case "kfi";
$algor = "D01EB0A01472".rnumstr(1).strtoupper(ralphstr(3));
break;
}
$sum = $_POST['sum'];
$alg = $algor;
if(isset($sum))
{
for ($i = 0; $i < $sum; $i++)
{
echo $alg.'<br/>';
}
}
}
}
答案 0 :(得分:1)
如果要为每个循环的迭代生成新的$ alg,则必须在每次迭代时调用switch的代码。重构你的代码:
function getRandomValue($key)
{
switch($key)
{
case "ksc":
return "78.0000.".rnumstr(7);
case "kpl":
return "76.0000.".rnumstr(7);
case "kfi":
return "D01EB0A01472".rnumstr(1).strtoupper(ralphstr(3));
}
}
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$key = $_POST['keysd'];
if(isset($key) && is_string($key))
{
$sum = $_POST['sum'];
if(isset($sum))
{
for ($i = 0; $i < $sum; $i++)
{
$alg = getRandomValue($key);
echo $alg.'<br/>';
}
}
}
}