Home >Backend Development >PHP Tutorial >3 ways to generate random numbers in php

3 ways to generate random numbers in php

不言
不言Original
2018-06-21 10:36:226391browse

Share three methods of generating random numbers in php. Generate non-repeating random numbers between 1-10. Examples of php generating non-repeating random numbers. Friends in need can refer to

How to generate with php A non-repeating random number between 1-10?

Example 1, use shuffle function to generate random numbers.

<?php
$arr=range(1,10);
shuffle($arr);
foreach($arr as $values)
{
 echo $values." ";
}
?>

Example 2, use array_unique function to generate random numbers.

<?php
$arr=array();
while(count($arr)<10)
{
 $arr[]=rand(1,10);
 $arr=array_unique($arr);
}
echo implode(" ",$arr);
?>

Example 3, use the array_flip function to generate random numbers, which can remove duplicate values.

<?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." ";
?>

php random number generation function example

<?php
function randpw($len=8,$format=&#39;ALL&#39;){
$is_abc = $is_numer = 0;
$password = $tmp =&#39;&#39;; 
switch($format){
case &#39;ALL&#39;:
$chars=&#39;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789&#39;;
break;
case &#39;CHAR&#39;:
$chars=&#39;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&#39;;
break;
case &#39;NUMBER&#39;:
$chars=&#39;0123456789&#39;;
break;
default :
$chars=&#39;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789&#39;;
break;
} // www.jb51.net
mt_srand((double)microtime()*1000000*getmypid());
while(strlen($password)<$len){
$tmp =substr($chars,(mt_rand()%strlen($chars)),1);
if(($is_numer <> 1 && is_numeric($tmp) && $tmp > 0 )|| $format == &#39;CHAR&#39;){
$is_numer = 1;
}
if(($is_abc <> 1 && preg_match(&#39;/[a-zA-Z]/&#39;,$tmp)) || $format == &#39;NUMBER&#39;){
$is_abc = 1;
}
$password.= $tmp;
}
if($is_numer <> 1 || $is_abc <> 1 || empty($password) ){
$password = randpw($len,$format);
}
return $password;
}
for($i = 0 ; $i < 10; $i++){
echo randpw(8,&#39;NUMBER&#39;);
echo "<br>";
}

The above is the entire content of this article , I hope it will be helpful to everyone’s learning. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

PHP generates image verification code and click switching code

About PHP to implement WeChat red envelope amount splitting Algorithm of points

The above is the detailed content of 3 ways to generate random numbers in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn