Home  >  Article  >  Backend Development  >  Code examples of three methods for generating random numbers in PHP

Code examples of three methods for generating random numbers in PHP

怪我咯
怪我咯Original
2017-07-06 10:32:101747browse

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 the 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 detailed content of Code examples of three methods for generating 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