生成PHP随机数的几种方法
程序员文章站
2022-04-19 19:42:28
...
下面这种方式是我经常使用的,比较人性化
/** * 生成随机字符串 * @param int $length 要生成的随机字符串长度 * @param string $type 随机码类型:0,数字+大写字母;1,数字;2,小写字母;3,大写字母;4,特殊字符;-1,数字+大小写字母+特殊字符 * @return string */ function randCode($length = 5, $type = 0) { $arr = array(1 => "0123456789", 2 => "abcdefghijklmnopqrstuvwxyz", 3 => "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 4 => "~@#$%^&*(){}[]|"); if ($type == 0) { array_pop($arr); $string = implode("", $arr); } else if ($type == "-1") { $string = implode("", $arr); } else { $string = $arr[$type]; } $count = strlen($string) - 1; for ($i = 0; $i
生成定长随机数:
function generate_code($length = 4) { return rand(pow(10,($length-1)), pow(10,$length)-1); }下面跟上面的效果一样,只是写法不一样而已。
function generate_code($length = 4) { $min = pow(10 , ($length - 1)); $max = pow(10, $length) - 1; return rand($min, $max); }如:
echo generate_code(5); //输出结果: 56482再刷新一次,所以数字和顺序都会变动。
以上这两种代码比较简洁,但也只能生成数字,追求代码简洁的可以使用
$arr=range(1,10); shuffle($arr); foreach($arr as $values) { echo $values.","; } //输出结果:10,5,7,8,6,2,9,4,1,3,1这种主要是靠php的内置函数range()来生成,生成两个参数范围的随机数,而且他们是可以生成多组数字,这种就比较呆板了,而且不是都放在方法里面,不过大家可以根据需求来使用。
以下这种跟上面这种没多大区别,只是生成的方法不太一样,主要是靠array_unique函数来生成。
$arr=array(); while(count($arr)其他的生成方法我在这里就不多说了,我们只要记住常用的,而且效率比较高的几种就行了,我们在开发的过程中,可以根据需求来写适合我们自己的php随机数函数。
上一篇: Linux中使用正则表达式的详细介绍
下一篇: 正则表达式字符类的详细介绍
推荐阅读
-
php错误提示failed to open stream: HTTP request failed!的完美解决方法
-
php随机获取金山词霸每日一句的方法,金山词霸每日一句
-
php中json_decode()和json_encode()的使用方法
-
php单一接口的实现方法
-
PHP中出现Notice: Undefined index的三种解决方法
-
PHP抓取网页、解析HTML常用的方法总结_php实例
-
php将图片保存入mysql数据库失败的解决方法_PHP
-
php删除文本文件中重复行的方法,_PHP教程
-
ThinkPHP自动填充实现无限级分类的方法,thinkphp填充_PHP教程
-
php ci框架中加载css和js文件失败的解决方法_PHP