php中如何生成1-15之间的随机数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中如何生成1-15之间的随机数?相关的知识,希望对你有一定的参考价值。
php中如何自动生成1-15之间的随机数?
能实现吗?哪位能帮我写这段程序啊?非常感谢!
可以使用PHP math 函数 rand(1,15)直接返回即可。
定义和用法:rand() 函数返回随机整数。
语法:rand(min,max)。
参数:min,max 可选。规定随机数产生的范围。
说明:如果没有提供可选参数 min 和 max,rand() 返回 0 到 RAND_MAX 之间的伪随机整数。例如,想要 5 到 15(包括 5 和 15)之间的随机数,用 rand(5, 15)。
扩展资料:
提示和注释
注释:在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 RAND_MAX 的数了,或者考虑用 mt_rand() 来替代它。
注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现在已自动完成。
注释:在 3.0.7 之前的版本中,max 的含义是 range 。要在这些版本中得到和上例相同 5 到 15 的随机数,简短的例子是 rand (5, 11)。
参考资料来源:百度百科-PHP Math
参考技术A1、使用shuffle函数生成随机数。
<?php
$arr=range(1,10);
shuffle($arr);
foreach($arr as $values)
echo $values." ";
?>
2、使用array_unique函数生成随机数。
<?php
$arr=array();
while(count($arr)<10)
$arr[]=rand(1,10);
$arr=array_unique($arr);
echo implode(" ",$arr);
?>
3、使用array_flip函数生成随机数,可以去掉重复值。
<?php
$arr=array();
$count1=0;
$count = 0;
$return = array();
while ($count < 10)
$return[] = mt_rand(1, 10);
$return = array_flip(array_flip($return));
$count = count($return);
//www.jb51.net
foreach($return as $value)
echo $value." ";
echo "<br/>";
$arr=array_values($return);// 获得数组的值
foreach($arr as $key)
echo $key." ";
?>
扩展资料
Python中的shuffle()函数的使用:
解释说明:shuffle()函数是打乱序列里面的元素,并随机排列的。
使用说明:
import random
random.shuffle (alist )123
注意下:alist可以使是一个列表,也可以是个序列。shuffle()是不能直接访问的,需要导入random模块。
有一点需要注意: 下面这样的写法是错误的,不可以把随机排列的结果赋值给另外一个序列列表,只能在原序列列表的基础上操作。
alist2=random.shuffle(alist)
输出的结果为:None
可以使用php 中的 rand() 函数
rand(min,max)min,max 可选。规定随机数产生的范围。如果没有提供可选参数 min 和 max,rand() 返回 0 到 RAND_MAX 之间的伪随机整数。例如,想要 1 到 15(包括 1 和 15)之间的随机数,用 rand(1, 15)
<?php$s = rand(1, 15 );// $s 为返回1到15之间的随机数
echo $s;//输出 即可
?> 参考技术C <?php
$a = rand(1, 15 );//$a为1到15的随机数
echo $a;//输出
?>本回答被提问者采纳 参考技术D rand(1,15);
PHP生成00 - 29之间的随机数[重复]
【中文标题】PHP生成00 - 29之间的随机数[重复]【英文标题】:PHP Generate Random Number Between 00 - 29 [duplicate] 【发布时间】:2012-08-05 15:24:23 【问题描述】:可能重复:Formatting a number with leading zeros in PHP
我的值介于 00 - 29 之间,需要使用 PHP 随机选择。 我尝试使用 rand() 函数,但它给了我 0 - 29。而不是 00、01、02、03 ... 等等。
如何从 PHP 中随机获取 00 - 09 而不是 0 - 9?谢谢。
【问题讨论】:
【参考方案1】:$random = sprintf("%02f", rand(0,29));
或者,如 cmets 中所述:
$random = str_pad(rand(0,29), 2, "0", STR_PAD_LEFT);
【讨论】:
我会用 sprintf 而不是 spintf ;) +1 打败我。str_pad()
也是一个不错的选择。在这种情况下,技术比 *printf()
少一点。
它给了我:0.00, 1.00, 2.00... 不是 00, 01, 02... 这里有什么遗漏吗?
更新了答案以显示str_pad()
(杰森好点)并修复了小数错误
他的sprintf()
格式错误,请参阅更新。 (告诉你这是技术性的:)【参考方案2】:
使用str_pad:
$random = str_pad(rand(0, 29), 2, '0', STR_PAD_LEFT);
【讨论】:
【参考方案3】:创建一个类似的数组
$array = array('00','01','02','03'....,'29');
echo $array[array_rand($array)];
【讨论】:
+1 用于提供替代方案。虽然相当 丑 解决方案:) @JasonMcCreary 我同意。这是一个丑陋的解决方案。 是的,它会起作用,但不要那样做:)【参考方案4】:a) 如果值低于 10,则添加“0”
b) 使用 number_format 处理输出
【讨论】:
【参考方案5】:您可以使用 sprintf 来格式化数字。
$number = rand(0,29);
$number = sprintf("%02d", $number);
在 PHP 手册中搜索 sprintf
【讨论】:
【参考方案6】:您也可以使用这种不依赖附加功能的方法:
$n = rand(0, 29);
if( $n < 10 ) $n = "0" . $n;
【讨论】:
是的,这项工作。但是当存在本机函数时很愚蠢。为什么要围绕它们编写代码? Be a better PHP developer.以上是关于php中如何生成1-15之间的随机数?的主要内容,如果未能解决你的问题,请参考以下文章