php实现随机的函数有哪些

教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

php随机函数主要有rand、mt_rand、array_rand,还有随机“排列”(打乱顺序)的函数shuffle、str_shuffle,能够产生唯一ID的uniqid。

1、rand产生随机数

<?php
$base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$count = strlen($base);
$random = '';
for ($i=0; $i < 16; $i++) { 
 $random.=$base[rand(0,$count-1)];
}
echo $random;
?>

rand()函数是使用libc 的随机数发生器生成随机数的,一般较慢,且有不确定因素,建议使用mt_rand函数替代。

getrandmax()函数可以返回rand函数能够产生的最大的随机数(我的系统为32767),所以在设置rand函数第二个参数时不要超高getrandmax的返回值。

2、mt_rand产生随机数

<?php
$base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$count = strlen($base);
$random = '';
for ($i=0; $i < 16; $i++) { 
 $random.=$base[mt_rand(0,$count-1)];
}
echo $random;
?>

很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。该函数用了 » Mersenne Twister 中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。强烈建议在开发过程中使用mt_rand函数取代rand。

如果没有提供可选参数 min 和 max,mt_rand() 返回 0 到 mt_getrandmax() 之间的伪随机数。例如想要 3到 20(包括 3 和 20)之间的随机数,用 mt_rand(3, 20)。

3、array_rand函数

<?php
$base = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9');
$random = '';
for ($i=0; $i < 16; $i++) { 
 $random.=$base[array_rand($base)];
}
echo $random;
?>

array_rand返回数组中随机的键值,有点类似mt_rand()函数,其余的没什么特殊的地方,灵活运用而已。

4、shuffle函数

<?php
$base = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9');
if(shuffle($base)){
 print_r($base);
}
?>

shuffle函数是打乱一个数组的序列,有点随机的意思,这里就放在随机函数里了。返回值为bool值,相当于直接引用了原变量。

5、str_shuffle函数

<?php
$base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
echo str_shuffle($base);
?>

这里str_shuffle的功能和shuffle的功能是类似的,唯一不同的是返回值,str_shuffle的原字符串是不变的。

6、uniqid函数

<?php
echo uniqid();
//54f806528172f
?>

uniqid能够产生唯一的字符串,这个应用的范围可以相当广泛

--结束END--

本文标题: php实现随机的函数有哪些

本文链接: https://www.lsjlt.com/news/239.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • php实现随机的函数有哪些

    php实现随机的函数有:1、rand(),可生成随机整数;2、mt_rand();3、array_rand(),可返回数组中的一个随机键名;4、shuffle(),可随机打乱数组;5、str_shuffle();6、uniqid()。
    阅读数:851 php 随机函数
  • php原生函数有哪些

    php中常用的原生函数有以下几种1.array_unique函数array_unique函数作用:php中array_unique函数的作用是用于移除数组中的重复的值,并返回结果数组。array_unique函数语法:array_uniqu
    阅读数:393 PHP 原生函数
  • php魔法函数有哪些

    php中常见的魔法函数有以下几种1.__call()php中__call()函数的作用是当使用对象调用方法时,若方法存在,直接调用,若不存在,则调用__call()函数。2.__get()php中__get()函数的作用是当读取一个对象的属
    阅读数:852 PHP 魔法函数
  • php进制转化函数有哪些

    php进制转化函数有:1、bindec()函数,可将二进制转十进制;2、decbin()函数;3、octdec()函数;4、decoc()函数;5、hexdec()函数;6、dechex()函数;7、base_convert()函数。
    阅读数:637 php 进制转化
  • php实现上传功能的函数有哪些

    php实现上传功能的函数有:1、move_uploaded_file函数;2、getimagesize函数;3、extend函数;4、explode函数;5、count函数等等。
    阅读数:566 php 上传功能
  • php有意思的函数有哪些

    php有意思的函数有:1、cli_set_process_title函数;2、memory_get_peak_usage函数;3、memory_get_usage函数;4、get_cfg_var函数等等。
    阅读数:892 php 函数
  • PHP中数组的排序函数有哪些

    这篇文章将为大家详细讲解有关PHP中数组的排序函数有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP - 数组的排序函数sort() - 以升序对数组排序rsort() - 以降序对数组排序aso
    阅读数:746 php
  • php ob缓存主要函数有哪些

    这篇文章将为大家详细讲解有关php ob缓存主要函数有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先明确一下PHP的输出顺序1.打开了php输出缓存: echo,print -> php outp
    阅读数:106 php
  • php中日期相关函数有哪些

    php中日期相关的函数有date_create、date_diff、strtotime、microtime常见的几种1.date_create函数date_create函数作用:php中date_create函数的作用是用于返回一个新的Da
    阅读数:349 PHP
  • php中有哪些字符串函数

    php的字符串函数有:1、addcslashes(),返回在指定字符前添加反斜杠的字符串;2、addslashes(),返回在预定义字符前添加反斜杠的字符串;3、bin2hex(),把ASCII字符的字符串转换为十六进制值;4、explode(),将字符串转为数组;5、implode(),将数组转为字符串;6、strcmp(),比较两个字符串;7、strrev(),反转字符串。本教程操作环境:win
    阅读数:501 php php字符串
  • php字符串比较函数有哪些

    php中的字符串比较函数有strnatcmp、srtcmp和strncmp三种1.strnatcmp函数strnatcmp函数作用:php中strnatcmp函数的作用是对字符串按自然排序法进行比较。strnatcmp函数语法:strnat
    阅读数:534 PHP 字符串
  • php数据类型判断函数有哪些

    php数据类型判断时需要注意的是is_numeric() 检测变量是否为数字或数字字符串有别 is_integer()
    阅读数:634 php 数据类型 判断函数
  • php转换大小写的函数有哪些

    php转换大小写的函数:1、strtoupper(),可将字符串转化为大写;2、strtolower(),可将字符串转化为小写;3、ucfirst();4、lcfirst();5、ucwords();6、mb_strtoupper()等。
    阅读数:881 php 转换大小写
  • php可以删除数组元素的函数有哪些

    删除函数:1、array_shift(),可删除第一个元素;2、array_pop(),可删除最后一个元素;3、array_unique(),可移除数组中重复元素;4、array_splice(),可从指定位置开始删除指定个数的元素,语法“array_splice(数组,位置,个数)”;5、unset(),可删除指定下标的一个数组元素,语法“unset(数组名[下标])”。本教程操作环境:windo
    阅读数:254 php数组 php
  • php将值转为浮点型的函数有哪些

    php将值转为浮点型的函数有两个:1、floatval()函数,可以获取变量的浮点值,主要用于将变量转为浮点类型,语法“floatval(值)”;2、settype()函数,可以将变量设置为指定类型,当第二个参数设置为“float”时即可将变量设置为浮点型,语法“settype($var,"float")”,该函数会改变原变量,如果设置成功则返回TRUE,失败则返回FALSE。本教程操作环境:win
    阅读数:654 php
  • php中的异常处理函数有哪些

    php中的异常处理函数有set_exception_handler函数set_exception_handler函数作用:php中set_exception_handler函数的作用是用于创建运行期间的用户自己的异常处理方法。set_exc
    阅读数:370 PHP
  • php字符串处理函数有哪些

    php中常用的字符串处理函数有strlen()、strpos()、trim()几种1.strlen()函数strlen()函数作用:php中strlen()函数的作用是用于获取字符串的长度。strlen()函数语法:strlen(strin
    阅读数:117 PHP 字符串
  • 有哪些PHP框架?

    PHP框架有:1、Laravel框架;2、CakePHP框架;3、CodeIgniter框架;4、Zend框架;5、Symfony框架;6、Yii2框架;7、Phalcon框架;8、ThinkPHP框架等等。
    阅读数:31 PHP框架
  • php的框架有哪些

    php的框架有:1、国内框架:ThinkPHP、Canphp、KYPHP、InitPHP、SpeedPHP、CdvPHP 等等。2、国外框架:Zend Framework、Codelgniter、CakePHP、Symfony 、Yii、S
    阅读数:456 PHP
  • php memcached方法有哪些

    php memcached方法有:1、set();1、add();3、replace();4、get();5、delete();6、increment();7、decrement();8、flush();9、connect()等等。
    阅读数:136 php memcached