Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php随机数在范围内-无重复_Php_Random_Numbers - Fatal编程技术网

php随机数在范围内-无重复

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,它的类需要以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);