php 生成一个随机数(0.11~999.99),判断是不是是所有数字相同 , 例如出现1.11 或者11.1,111.1,111.11 这种
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 生成一个随机数(0.11~999.99),判断是不是是所有数字相同 , 例如出现1.11 或者11.1,111.1,111.11 这种相关的知识,希望对你有一定的参考价值。
php 生成一个随机数(0.11~999.99),判断是否是所有数字相同 , 例如出现1.11 或者11.1,111.1,111.11 这种情况
参考技术A思路:用rand函数取11到99999的随机数,然后除以100四舍五入保留2为小数,最终结果在0.11~999.99区间
取到的值除以0.11判断结果是不是为整数,如果是整数,说明值是1.1、2.22这种类型的,符合
999.99 除以0.11 除不尽吧?
追答我去,好像是,那就换另一种处理
去除小数点,当成一个新数,获取长度:如99.9变成999,长度 3
然后截取第一位,如9;然后对应乘以长度对应的1,如长度3,则乘以111(3个1)
乘后的值和新值比较,如9*111=新值999,则这个值符合,记得是原值
var_dump(chk_num($rnd_num));
//生成一个小数点后2位的浮点随机数
function rand_num()
return mt_rand(11,99999)/100;
//判断是否连号
function chk_num($num)
$str_num = str_replace(".","",$num); //去小数点
for($i=1,$max=strlen($str_num);$i<$max;$i++)
if(substr($str_num,$i-1,1)<>substr($str_num,$i,1))
return false;
return true;
本回答被提问者采纳
PHP生成随机字符串
原理:
定义一个字符串,里面存放你想要的字符,这里是大小写字母以及数字,
利用php自带的rand()方法生成随机数,根据结果字符串的长度,来调用几次rand()函数,
每次随机生成的数字就是字符串的下标,最后将所有字符组成新的字符串返回
1 <?php 2 3 /** 4 ** $length : the length of the result String 5 **/ 6 function getRandChar($length){ 7 $str = null; 8 $strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";//大小写字母以及数字 9 $max = strlen($strPol)-1; 10 11 for($i=0;$i<$length;$i++){ 12 $str.=$strPol[rand(0,$max)]; 13 } 14 return $str; 15 } 16 17 echo getRandChar(10); 18 ?>
以上是关于php 生成一个随机数(0.11~999.99),判断是不是是所有数字相同 , 例如出现1.11 或者11.1,111.1,111.11 这种的主要内容,如果未能解决你的问题,请参考以下文章