php随机数在范围内-无重复
到目前为止,我还没有找到我要找的东西,所以我请求帮助 我有一个div,它的类需要以1到8之间的数字结尾,我需要它是一个随机数,不重复php随机数在范围内-无重复,php,random,numbers,Php,Random,Numbers,到目前为止,我还没有找到我要找的东西,所以我请求帮助 我有一个div,它的类需要以1到8之间的数字结尾,我需要它是一个随机数,不重复 <div class="parallax parallax_<?php echo $random_number ?>"></div> 您可以使用uniqid()函数和md5来增强结果: md5(uniqid(rand(1, 8), true)); 或使用 我会做一个范围和洗牌: $myRange = range(1, 8)
<div class="parallax parallax_<?php echo $random_number ?>"></div>
您可以使用uniqid()
函数和md5
来增强结果:
md5(uniqid(rand(1, 8), true));
或使用
我会做一个范围
和洗牌
:
$myRange = range(1, 8);
shuffle($myRange);
return $myRange[0];
我想这对你有帮助。
shuffle()
此代码可防止重复,并适用于任何其他测试用例场景。洗牌是不必要的,随机元素基于数组\u rand()
函数
要重复拾取新的随机键,必须在循环中使用代码
// Array declaration
$a=array(1,2,3,4,5,6,7,8);
// Loop
$randomKey=array_rand($a);
unset($a[$randomKey]);
// Test
echo $randomKey."<br>";
var_dump($a);
//数组声明
$a=数组(1,2,3,4,5,6,7,8);
//环路
$randomKey=数组随机数($a);
未设置($a[$randomKey]);
//试验
echo$randomKey.“
”;
var_dump($a);
首先定义一个所需的数字数组。然后从数组中拾取随机关键点。它还未从数组中设置,因此不会再次使用
对于重复操作,$randomKey
和unset()
应该在循环中。Echo和var_dump()
函数仅用于测试目的。数组大小可以减少未设置的已用键或保持相同的长度,使unset()
函数从循环中退出。不重复的随机数不是严格意义上的randon数您在一个上放了多少page@RiggsFolly倍数取决于帖子数量。可能的重复我认为编辑是对问题的一个足够大的更改,可以提醒你作为一个新问题提问,但这并不阻止重复。uniqid()和md5()不会使结果更随机。可能,但这只是一个开始。在循环中,他还可以在每个数字的末尾添加一个计数器,使其更加独特。请写一个更好的答案。我敢说。最好让数组保持静态,一次从中弹出一个值。但是使用shuffle()既优雅又简洁。@RiggsFolly没想到你会这么做。只需循环$myRange
,这正是我想要的。我确实说过我可能误解了如何在8次中运行correctly@PraveenKumar谷歌翻译恐怕做得不好,但我确实猜到了Tamil@RiggsFolly就南印度语言而言,谷歌翻译还是一个婴儿。这看起来不错,但应该echo$a[$randomKey]
并在回显号码后将取消设置
移动到!!!!!秩序不重要。你们可以做你们想做的,测试部分只是为了提供信息。
// Array declaration
$a=array(1,2,3,4,5,6,7,8);
// Loop
$randomKey=array_rand($a);
unset($a[$randomKey]);
// Test
echo $randomKey."<br>";
var_dump($a);
$myRange = range(1, 8);
shuffle($myRange);
return $myRange[0];
<?php
$numbers = range(1, 8);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}
// Array declaration
$a=array(1,2,3,4,5,6,7,8);
// Loop
$randomKey=array_rand($a);
unset($a[$randomKey]);
// Test
echo $randomKey."<br>";
var_dump($a);