返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php实现随机的函数有哪些
  • 851
分享到

php实现随机的函数有哪些

php随机函数 2015-11-03 13:11:59 851人浏览
摘要

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

教程操作环境: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.array_unique函数array_unique函数作用:php中array_unique函数的作用是用于移除数组中的重复的值,并返回结果数组。array_unique函数语法:array_uniqu ...
    660
    2023-03-22
    PHP 原生函数
  • php魔法函数有哪些
    php中常见的魔法函数有以下几种1.__call()php中__call()函数的作用是当使用对象调用方法时,若方法存在,直接调用,若不存在,则调用__call()函数。2.__get()php中__get()函数的作用是当读取一个对象的属 ...
    865
    2023-03-22
    PHP 魔法函数
  • php数组排序的函数有哪些
    php数组排序的函数有:array_multisort()、asort()、arsort()、krsort()、ksort()、natcasesort()、natsort()、rsort()、shuffle()、sort()、uasort( ...
    545
    2023-03-22
    PHP
  • php进制转化函数有哪些
    php进制转化函数有:1、bindec()函数,可将二进制转十进制;2、decbin()函数;3、octdec()函数;4、decoc()函数;5、hexdec()函数;6、dechex()函数;7、base_convert()函数。 ...
    669
    2023-03-22
    php 进制转化
  • php命令执行函数有哪些
    php中的命令执行函数有System、Exec和Passthru几种1.System函数System函数作用:php中System函数的作用是用于执行command参数所指定的命令,且打印全部的输出值。System函数语法:system ( ...
    603
    2023-03-22
    PHP
  • php加密函数有哪些
    php中常见的加密函数有md5、sha1、hash、urldecode几种1.md5函数md5函数作用:php中md5函数的作用是将字符串转换成MD5散列用于加密。md5函数语法:md5(string,raw)参数:string:指定字符串 ...
    285
    2023-03-22
    PHP
  • php实现上传功能的函数有哪些
    php实现上传功能的函数有:1、move_uploaded_file函数;2、getimagesize函数;3、extend函数;4、explode函数;5、count函数等等。 ...
    567
    2023-03-22
    php 上传功能
  • php有意思的函数有哪些
    php有意思的函数有:1、cli_set_process_title函数;2、memory_get_peak_usage函数;3、memory_get_usage函数;4、get_cfg_var函数等等。 ...
    892
    2023-03-22
    php 函数
  • PHP中数组的排序函数有哪些
    这篇文章将为大家详细讲解有关PHP中数组的排序函数有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP - 数组的排序函数sort() - 以升序对数组排序rsort() - 以降序对数组排序aso ...
    757
    2023-03-22
    php
  • php ob缓存主要函数有哪些
    这篇文章将为大家详细讲解有关php ob缓存主要函数有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先明确一下PHP的输出顺序1.打开了php输出缓存: echo,print -> php outp ...
    106
    2023-03-22
    php
  • php函数参数类型有哪些
    php中函数的参数类型有默认参数、可变参数和遗漏参数三种1.默认参数php中默认参数是指在声明函数时的赋值参数,默认参数一般在函数的最后面,调用默认参数时可以不传递参数。2.可变参数php中可变参数是指一个函数有多个可变数目的参数,一般使用 ...
    210
    2023-03-22
    PHP
  • php中日期相关函数有哪些
    php中日期相关的函数有date_create、date_diff、strtotime、microtime常见的几种1.date_create函数date_create函数作用:php中date_create函数的作用是用于返回一个新的Da ...
    354
    2023-03-22
    PHP
  • php中有哪些字符串函数
    php的字符串函数有:1、addcslashes(),返回在指定字符前添加反斜杠的字符串;2、addslashes(),返回在预定义字符前添加反斜杠的字符串;3、bin2hex(),把ASCII字符的字符串转换为十六进制值;4、explode(),将字符串转为数组;5、implode(),将数组转为字符串;6、strcmp(),比较两个字符串;7、strrev(),反转字符串。本教程操作环境:win ...
    516
    2023-03-22
    php php字符串
  • php数据类型判断函数有哪些
    php数据类型判断时需要注意的是is_numeric() 检测变量是否为数字或数字字符串有别 is_integer() ...
    636
    2023-03-22
    php 数据类型 判断函数
  • php字符串比较函数有哪些
    php中的字符串比较函数有strnatcmp、srtcmp和strncmp三种1.strnatcmp函数strnatcmp函数作用:php中strnatcmp函数的作用是对字符串按自然排序法进行比较。strnatcmp函数语法:strnat ...
    542
    2023-03-22
    PHP 字符串
  • php可以删除数组元素的函数有哪些
    删除函数:1、array_shift(),可删除第一个元素;2、array_pop(),可删除最后一个元素;3、array_unique(),可移除数组中重复元素;4、array_splice(),可从指定位置开始删除指定个数的元素,语法“array_splice(数组,位置,个数)”;5、unset(),可删除指定下标的一个数组元素,语法“unset(数组名[下标])”。本教程操作环境:windo ...
    316
    2023-03-22
    php数组 php
  • php将值转为浮点型的函数有哪些
    php将值转为浮点型的函数有两个:1、floatval()函数,可以获取变量的浮点值,主要用于将变量转为浮点类型,语法“floatval(值)”;2、settype()函数,可以将变量设置为指定类型,当第二个参数设置为“float”时即可将变量设置为浮点型,语法“settype($var,"float")”,该函数会改变原变量,如果设置成功则返回TRUE,失败则返回FALSE。本教程操作环境:win ...
    658
    2023-03-22
    php
  • php中的异常处理函数有哪些
    php中的异常处理函数有set_exception_handler函数set_exception_handler函数作用:php中set_exception_handler函数的作用是用于创建运行期间的用户自己的异常处理方法。set_exc ...
    376
    2023-03-22
    PHP
  • 有哪些PHP框架?
    PHP框架有:1、Laravel框架;2、CakePHP框架;3、CodeIgniter框架;4、Zend框架;5、Symfony框架;6、Yii2框架;7、Phalcon框架;8、ThinkPHP框架等等。 ...
    45
    2023-03-22
    PHP框架
  • javascript的函数有哪些
    本篇内容主要讲解“javascript的函数有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript的函数有哪些”吧!本文操作环境:windows7 ...
    554
    2023-03-22
    javascript
热门问答
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作