【发布时间】:2018-05-15 18:41:09
【问题描述】:
我正在处理页面,它为您提供(基于范围输入)来自数组的随机字符串。它通过带有 post 方法的表单工作,该表单进入同一个网站,该表单在哪里。但是我遇到了问题。大多数情况下,它提供与以前相同的字符串,因此我想以某种方式从数组中保存密钥,并将其与新随机选择的密钥进行比较。问题是,我是初学者,我不知道该怎么做。如果你能帮助我,我会很高兴的。
当前代码:($vystup 代表输出,$rageFactor 是从范围输入,$rage0 - $rage4 是包含字符串的数组)
$rageFactor = $_POST["rageFactor"];
if ($rageFactor == "0"){
$vystup = $rage0[array_rand($rage0)];
} else if ($rageFactor == "1"){
$vystup = $rage1[array_rand($rage1)];
} else if ($rageFactor == "2"){
$vystup = $rage2[array_rand($rage2)];
} else if ($rageFactor == "3"){
$vystup = $rage3[array_rand($rage3)];
}
谢谢:)
//编辑1
$rage = array("rage0", "rage1", "rage2", "rage3");
$vystup = $rage[$rageFactor][array_rand($rage[$rageFactor])];
【问题讨论】:
-
将
$rage*变量放入数组0-3 being the keys然后只需执行$vystup = $rage[$rageFactor][array_rand($rage[$rageFactor])];.. simplez -
澄清 - 所以你有 4 个数字范围,用户应该能够从其中一个数组中选择一个随机值。用户根据表单输入选择要使用的数组。另外,每个数组不能多次返回相同的值?
-
我有 4 个用字符串填充的数组。用户按范围选择 $rageFactor(数组的数量,从中选择随机字符串),并从选定的数组中为他提供随机字符串。但有时(大部分)它给了他 3 次相同的字符串,然后是另一个字符串,然后是 2 次另一个字符串,等等......我想至少消除它有时给他相同的字符串。现在我正在尝试劳伦斯的建议。
-
@LawrenceCherone edit1 就像我的代码现在看起来一样,但它不断给我返回“r”...